 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
LIGERO Cmdr


Registrado: 13 May 2004Mensajes: 134Ubicación: Granada
|
Publicado: Mar 14 Nov, 2006 7:04 pm Asunto: Excepciones en ADO |
|
|
Hola amigos
Tengo el siguiente código:
| Código: |
void AplicaConsultaADO(TADOConnection *Conexion, TADOQuery *Query, int Tipo, AnsiString ConsultaSQL)
{
if (!Conexion->InTransaction)
Conexion->BeginTrans();
Query->Connection = Conexion;
if (Query->Active)
Query->Close();
if ((ConsultaSQL!=NULL) && (ConsultaSQL!=""))
Query->SQL->Text = ConsultaSQL;
// Tipo 0 : Consulta
// Tipo 1 : Modificacion, insercion
try
{
switch (Tipo)
{
case 0: Query->Open();break;
case 1: Query->ExecSQL();break;
}
Conexion->CommitTrans();
}
catch (EADOError &error)
{
ShowMessage("El error ha sido "+error.Message);
}
}
|
Para el que le interese este código sirve para aplicar una consulta SQL utilizando ADO.
Nos gestiona las transacciones y todo, de forma que nosotros no tenemos que preocuparnos nada mas de la consulta SQL que queremos.
Puede que alguien lo tenga hecho mas eficientemente, si es así le ruego que me lo envíe.
Bueno, a lo que voy.
La parte que no está bien es la del manejo de excepciones.
Este código se le he incluido hoy, pero no me funciona bien.
Necesito manejar las exceciones de la consulta, de forma que al hacer `
| Código: |
switch (Tipo)
{
case 0: Query->Open();break;
case 1: Query->ExecSQL();break;
}
|
si se produce una excepción, pueda capturarla correctamente y poner el comentario indóneo a cada excepción.
Por ejemplo tengo una restricción de tipo UNIQUE en mi base de datos.
Si intento crear un registro repetido, me sale el mensaje de error de la excepción, pero el que saca Builder.
Yo quiero sacar el mío propio.
¿Cómo puedo hacerlo?
Saludos _________________ La pintura es la expresión de la mente. |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Mar 28 Nov, 2006 5:16 pm Asunto: |
|
|
Que tal LIGERO... me temo que para esto es meterse un poco más en las entrañas de tu motor de base de datos.
En estas ligas existe la forma de cambiar los mensajes que envia un el servidor por uno más propio. La desventaja es que es para Interbase. Pero te puede dar una idea de como empezar a investigar sobre tu motor.
http://bdn1.borland.com/article/0,1410,28498,00.html
http://bdn1.borland.com/article/0,1410,28499,00.html
Saludos y suerte! _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|