Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Duda de principiante (Help!!!!) (https://www.clubdelphi.com/foros/showthread.php?t=22039)

taeyin 04-06-2005 19:49:36

Duda de principiante (Help!!!!)
 
Hola. Soy un recién iniciado al Delphi y al Interbase, asi como al SQL. Tengo una dudilla, a ver si me podeis hechar un cable.

Tengo el siguiente código, que funciona sin problemas:

Cita:

var str:string;
begin
str:=box.text;

DataModule3.IBDataSet1.SelectSQL.Clear;
DataModule3.IBDataSet1.Close;
DataModule3.IBDataSet1.SelectSQL.text:=str;

DataModule3.IBDataSet1.OPEN;
end;
donde: box es una caja de texto
str representa la consulta (sentencia SQL) a ejecutar

Mi duda es:

Si en la caja de texto introduzco una sentencia que no sea del todo válida bien porque no exista la tabla nosequé o la columna nosecuantos o cualquier cosa, me da un error y el programa termina. ¿Hay alguna forma de "capturar" esos errores, hacer que el programa muestre un mensajito de error personalizado y NO termine el programa?

Muchas Gracias!!

vtdeleon 04-06-2005 20:52:28

Saludos

Puedes usar Try Except:
Código Delphi [-]
Begin
 ...
   try
     //Tu codigo para abrir
         DataModule3.IBDataSet1.OPEN;
   Except
  Showmessage('Tu Mensaje');
   end;
   end;


Puedes consulta esta Pagina(en ingles): Delphi Basics.

Crandel 04-06-2005 22:43:53

Un detalle manor es borrar la consulta una vez cerrada tu DataSet:

Cita:

Empezado por taeyin
Código SQL [-]
DataModule3.IBDataSet1.SelectSQL.Clear;
DataModule3.IBDataSet1.Close;
DataModule3.IBDataSet1.SelectSQL.text:=str;

DataModule3.IBDataSet1.OPEN;

por

Código SQL [-]
DataModule3.IBDataSet1.Close;
DataModule3.IBDataSet1.SelectSQL.Clear;
DataModule3.IBDataSet1.SelectSQL.text:=str;

DataModule3.IBDataSet1.Open;

Realmente no modifica prácticamente tu código, pero la idea es borrar la consulta cuando esta cerrada y no antes.


La franja horaria es GMT +2. Ahora son las 14:53:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi