Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 29-09-2003
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 24
Giniromero Va por buen camino
Hola,


Cita:
Este error te da por una mala construcción en la sentencia SQL

Pero, si es por una mala construcción en el SQL, ¿por que sólo me falla cuando no resultan registros de la busqueda?, esto es, cuando, por ejemplo aparece un espacio de algo que no tiene que tenerlo, o estoy buscando en un campo de text algo que comience por 'Mn' y no encuentra nada en la tabla que comience así.

En cualquier caso, este es el código que tengo para la busqueda:

//para, dependiendo del campo por el que vamos a querer que nos ordene la tabla
//así añadir el código

IF EditBuscar.Text = '' THEN BEGIN //Si no hay datos en el campo de texto para buscar
//Salimos del procedure
Exit;
ShowMessage ('No ha insertado parámetros de busqueda');
END
ELSE BEGIN //si hay parámetros de búsqueda
Try

FrmDModule.TbAlumnos.DisableControls;

FrmDModule.TbAlumnos.Close;

FrmDModule.TbAlumnos.SelectSQL.Clear;
//le asignamos el SQL que tenía al inicio la tabla
FrmDModule.TbAlumnos.SelectSQL.Add(FrmDModule.VAlumnosSQL);

// Dependiendo del campo en el que vayamos a buscar así hacemos la busqueda con un where = o un where like
IF (RCampo = 'NUMALU') THEN BEGIN //Los datos introducidos en el campo
//tienen que ser numéricos
//insertamos los parámetros de búsqueda en la sentencia selectSQL
FrmDModule.TbAlumnos.SelectSQL.Add('WHERE ' + RCampo + ' = ' + EditBuscar.Text );
//ordenamos por ...
FrmDModule.TbAlumnos.SelectSQL.Add( 'ORDER BY ' + RCampo);
//abrimos la tabla

END
ELSE BEGIN //buscamos en campos con texto
//insertamos los parámetros de búsqueda en la sentencia selectSQL
FrmDModule.TbAlumnos.SelectSQL.Add('WHERE ' + RCampo + ' LIKE ''' + EditBuscar.Text + '%'' ' );
//ordenamos por ...
FrmDModule.TbAlumnos.SelectSQL.Add( 'ORDER BY ' + RCampo);
//abrimos la tabla
END;
//una vez que se ha creado la consulta es cuando abrimos la tabla
FrmDModule.TbAlumnos.Open;


Finally

//volvemos a habilitar los controles de la tabla
FrmDModule.TbAlumnos.EnableControls;

End;
END;


Por cierto, ¿hay algún sitio donde me pueda documentar mejor sobre la manipulación de los errores?, vamos, para tener claro lo que implica el código que me has recomendado, y así poder manejarlo según mis necesidades.

Muchas gracias por la ayuda,

Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 23:41:28.


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
Copyright 1996-2007 Club Delphi