Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-06-2005
taeyin taeyin is offline
Registrado
 
Registrado: jun 2005
Posts: 1
Poder: 0
taeyin Va por buen camino
Question 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!!
Responder Con Cita
  #2  
Antiguo 04-06-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
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.
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #3  
Antiguo 04-06-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
Exclamation

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.
__________________
[Crandel]
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:51:11.


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