Club Delphi  
    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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-02-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 16
microbiano Va por buen camino
ayuda con consulta sql

resulta que tenia este codigo para hacer las busquedas, en el cual en la columna nombre, guardar todo el nombre completo, pero ahora ese nombre lo tengo que dividir en Apellido Paterno, Apellido Materno y nombre, pues bien cuando hago la busqueda ya no se como hacerlo
Código Delphi [-]
with Fmodulo.Qry_Temp do
  begin
   Close;
   SQL.Clear;
   SQL.Add('SELECT no_contrato AS[Num Contrato],nombre as [Usuario],calle as [Calle]');
   SQL.Add('from cap_usuarios');
   case rg_buscar.ItemIndex of
    0: if(Length(Self.txtnombrebuscar.Text) > 0) then
       SQL.Add('WHERE NOMBRE LIKE ''%' + Self.txtnombrebuscar.Text + '%''');
    1: SQL.Add('WHERE calle LIKE ''%' + Self.txtcalle_busca.Text + '%''');
   end;

   case rg_ordena.ItemIndex of
    0:  SQL.Add('ORDER BY 2');
    1:  SQL.Add('ORDER BY 3');
   end;
   try
    open;
    Self.jtxtregistros.Value:=Recordset.RecordCount;
    Self.txtnombrebuscar.Text:='';
    self.txtcalle_busca.Text:='';
    Exit;
   except
    on E:EOleException do
     begin
      MessageDlg(Format('Error: %s    Codigo: %d', [E.Message, E.ErrorCode]), mtError, [mbOK], 0);
     end;
   end;

bien el problema va en esta linea que es aqui a donde tendria que juntar apellido paterno,materno y nombre

lo intente asi pero no funciona

Código Delphi [-]
 SQL.Add('WHERE paterno+materno+NOMBRE LIKE ''%' + Self.txtnombrebuscar.Text + '%''');

y en txtnombre:= txtpaterno+' '+txtmaterno+' '+nombre;

alguna sugerencia?
Responder Con Cita
  #2  
Antiguo 01-02-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Aunque no has dicho que servidor de base de datos usas, pues puedes usar la funcion Concat para concatenar los campos, desde luego ésto puede variar dependiente del Servidor de BD que uses.
En en MySQL sería asi:
Código Delphi [-]
SQL.Add('WHERE concat(paterno,materno,NOMBRE) LIKE ''%' + Self.txtnombrebuscar.Text + '%''');
Pero como es lógico debe haber un espacio entre el nombre y los apellidos entonces sería asi:
Código Delphi [-]
SQL.Add('WHERE Concat(paterno,'' '',materno,'' '',NOMBRE) LIKE ''%' + Self.txtnombrebuscar.Text + '%''');
Aunque en MySQL mejor usaría la funcion Concat_WS (Concat With Separator) concatenar con separador quedando así:
Código Delphi [-]
SQL.Add('WHERE Concat_WS('' '',paterno,materno,NOMBRE) LIKE ''%' + Self.txtnombrebuscar.Text + '%''');
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #3  
Antiguo 01-02-2011
Jucho69 Jucho69 is offline
Miembro
 
Registrado: ene 2007
Ubicación: Ciudad Habana, Cuba
Posts: 118
Poder: 18
Jucho69 Va por buen camino
Thumbs up

Hola Rgstuamigo

Es una solución que me puede servir tambien

SQL.Add('WHERE Concat(--------,'' '',-------,'' '',-------);
Saludos
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda con una consulta!!! sargento elias SQL 2 12-03-2009 13:10:49
Ayuda con consulta... Jose Roman SQL 2 03-02-2009 10:36:56
Ayuda con consulta @ngeluz Conexión con bases de datos 6 12-02-2006 21:38:58
Ayuda con una consulta SQL agova SQL 13 29-08-2005 17:06:15
Ayuda con consulta SQL tgsistemas SQL 9 18-02-2004 16:14:07


La franja horaria es GMT +2. Ahora son las 17:50:10.


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