Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-04-2011
elturu15 elturu15 is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 37
Poder: 0
elturu15 Va por buen camino
Between

Mucjas gracias solucione el error, pero el problema que tengo ahora es que siempre me lista el Primero nada mas..
Código Delphi [-]
Clave:=integer(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
Clave1:=integer(ComboBox2.Items.Objects[ComboBox2.ItemIndex]);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='SELECT Provincias.Clave,  Provincias.Nombre,Ciudades.Codigo_Postal, Ciudades.Nombre_Ciudad  FROM Provincias LEFT JOIN Ciudades ON Provincias.Clave = Ciudades.Clave_Provincia WHERE clave between '+IntToStr(clave)+' and '+IntToStr(clave1)+' order by Clave';
 ADOQuery1.Open;
 ListBox1.Clear;
    While not ADOQuery1.EOF do
     Begin
      Clave2:=ADOQuery1.Fields[0].AsInteger;
      Nombre:=ADOQuery1.Fields[1].AsString;
      CP:=ADOQuery1.Fields[2].AsString;
      NombreCiudad:=ADOQuery1.Fields[3].AsString;
      ListBox1.Items.Add('Clave :' +  inttostr(Clave2));
      ListBox1.Items.Add('Nombre :' + Nombre);
      ListBox1.Items.Add('codigo_postal : '+  CP);
      ListBox1.Items.Add('Nombre_Ciudad :' + NombreCiudad);
      ListBox1.Items.Add('----------------------------');
      ADOQuery1.Next;
      ADOQuery1.ExecSQL;
     End

Esta bien el While?

Última edición por ecfisa fecha: 29-04-2011 a las 16:51:52. Razón: Etiquetas [DELPHI] y [/DELPHI]
Responder Con Cita
  #2  
Antiguo 29-04-2011
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 25
Caro Va por buen camino
Hola de nuevo, esta linea esta demas dentro del While.

Código Delphi [-]
 ADOQuery1.ExecSQL;

te quedaría así:

Código Delphi [-]
    ............................................. 
    ListBox1.Clear;
    AdoQuery1.First; // nos posicionamos en el primer registro
    While not ADOQuery1.EOF do
     Begin
      Clave2:=ADOQuery1.Fields[0].AsInteger;
      Nombre:=ADOQuery1.Fields[1].AsString;
      CP:=ADOQuery1.Fields[2].AsString;
      NombreCiudad:=ADOQuery1.Fields[3].AsString;
      ListBox1.Items.Add('Clave :' +  inttostr(Clave2));
      ListBox1.Items.Add('Nombre :' + Nombre);
      ListBox1.Items.Add('codigo_postal : '+  CP);
      ListBox1.Items.Add('Nombre_Ciudad :' + NombreCiudad);
      ListBox1.Items.Add('----------------------------');
      ADOQuery1.Next;
     End

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 29-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

En principio quitá esta línea:
Código Delphi [-]
 ADOQuery1.ExecSQL;

Te debería quedar algo como:
Código Delphi [-]
 ADOQuery1.Close;
 ADOQuery1.SQL.Clear;
 ADOQuery1.SQL.Text:='SELECT Provincias.Clave,  Provincias.Nombre,Ciudades.Codigo_Postal, Ciudades.Nombre_Ciudad  FROM Provincias LEFT JOIN Ciudades ON Provincias.Clave = Ciudades.Clave_Provincia WHERE clave between '+IntToStr(clave)+' and '+IntToStr(clave1)+' order by Clave';
 ADOQuery1.Open;
 ListBox1.Clear;
 while not ADOQuery1.EOF do
 begin
   ListBox1.Items.Add('Clave :' +  inttostr(ADOQuery1.Fields[0].AsInteger));
   ListBox1.Items.Add('Nombre :' + ADOQuery1.Fields[1].AsString);
   ListBox1.Items.Add('codigo_postal : '+ ADOQuery1.Fields[2].AsString);
   ListBox1.Items.Add('Nombre_Ciudad :' + ADOQuery1.Fields[3].AsString);
   ListBox1.Items.Add('----------------------------');
   ADOQuery1.Next;
 end

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 29-04-2011
elturu15 elturu15 is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 37
Poder: 0
elturu15 Va por buen camino
Between

Hola otra vez..lamento informarte que sigue sin funcionar.. me lista siempre el primero,,, este es el codigo que tengo
Código Delphi [-]
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='SELECT P.Clave, P.Nombre, C.Codigo_Postal,  C.Nombre_Ciudad '+
                     'FROM Provincias P LEFT JOIN Ciudades C ON P.Clave = C.Clave_Provincia '+
                     'WHERE P.clave between '+IntToStr(clave)+' and '+IntToStr(clave1)+' order by Clave';
ADOQuery1.Open;
ListBox1.Clear;
AdoQuery1.First; // nos posicionamos en el primer registro
ADOQuery1.Active:=true;
    While not ADOQuery1.EOF do
     Begin
      Clave2:=ADOQuery1.Fields[0].AsInteger;
      Nombre:=ADOQuery1.Fields[1].AsString;
      CP:=ADOQuery1.Fields[2].AsString;
      NombreCiudad:=ADOQuery1.Fields[3].AsString;
      ListBox1.Items.Add('Clave :' +  inttostr(Clave2));
      ListBox1.Items.Add('Nombre :' + Nombre);
      ListBox1.Items.Add('codigo_postal : '+  CP);
      ListBox1.Items.Add('Nombre_Ciudad :' + NombreCiudad);
      ListBox1.Items.Add('----------------------------');
      ADOQuery1.Next;
     End
esta bien esto? ADOQuery1.Active:=true;


Mil disculpas por molestarte

Última edición por ecfisa fecha: 29-04-2011 a las 17:20:38. Razón: Etiquetas [DELPHI] y [/DELPHI]
Responder Con Cita
  #5  
Antiguo 29-04-2011
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 25
Caro Va por buen camino
Cita:
Empezado por elturu15 Ver Mensaje
esta bien esto? ADOQuery1.Active:=true;
No es necesario ejecutar la consulta dos veces, tanto el open como el active=true, ejecutan la consulta que esta dentro de tu DataSet (AdoQuery), solo debes escoger uno de ellos.

Puede ser que la consulta solo te este devolviendo un solo registro, prueba de enlazar tu consulta a un dbgrid para que veas el resultado.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 29-04-2011
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 25
Caro Va por buen camino
O también puedes probar esto:

Código Delphi [-]
...............................
'WHERE P.clave between '+IntToStr(clave)+' and '+IntToStr(clave1)+' order by Clave';
ADOQuery1.Open;
showmessage(IntToStr(AdoQuery1.RecordCount));
.........................

y nos dices el resultado que te salga. No te olvides de leer nuestra guia de estilo por favor y utiliza etiquetas en tu codigo para que se vea mejor, en este caso [ delphi]tu codigo[ /delphi] sin el espacio, también los puedes encontrar en editor.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #7  
Antiguo 29-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Y a modo de complemento de lo que ya te ha sugerido Caro sobre la lectura de la guia de estilo y las etiquetas, el amigo Casimiro,
ha echo un [ gráfico ] que explica cláramente el uso de estas últimas.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 29-04-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por ecfisa Ver Mensaje
Hola. Y a modo de complemento de lo que ya te ha sugerido Caro sobre la lectura de la guia de estilo y las etiquetas, el amigo Casimiro, ha echo un [ gráfico ] que explica cláramente el uso de estas últimas.
Un saludo.
Bueno, ese gráfico se lo he "robado" a Neftalí




.
Responder Con Cita
Respuesta


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 22:35:38.


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