Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-10-2007
Avatar de Nomad
Nomad Nomad is offline
Miembro
 
Registrado: abr 2007
Ubicación: Sarchi,Costa Rica
Posts: 107
Poder: 18
Nomad Va por buen camino
Question Problema con TADOQuery

Estoy usando un TADOQUERY para hacer una consulta a una DB en SQL Server...

Código Delphi [-]
Query1.SQL.Text := 'Select IdDepartamento,Departamento from Departamentos';
Query1.Active   := True;
recs := Query1.MaxRecords;
WHile not Query1.Eof Do
Begin
    Combo.Items.Add(Query1.Fields[0].asstring);
    if not Query1.Eof then
       Query1.FindNext;
end; // fin del While

Resulta que siempre he usado el Query1.FindNext, pero ahora me da un error, cuando llega al final de los registros. Por eso utilizo el Query1.EOF, pero aun asi me da el error.

Alguna idea?

Gracias de antemano...
__________________
Quisiera cambiar el mundo, pero no me dan el código fuente.
Responder Con Cita
  #2  
Antiguo 24-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Y asi:
Código Delphi [-]
Query1.SQL.Text := 'Select IdDepartamento,Departamento from Departamentos';
Query1.Active   := True;
recs := Query1.MaxRecords;// esto no se para que lo usas?
WHile not Query1.Eof Do
Begin
    Combo.Items.Add(Query1.Fields[0].asstring);
     Query1.Next;
end;
No entiendo la necesidad de repetir el Eof dos veces, tampoco por que usar FindNext.
Bueno, pruebalo, tal vez sirva.
Saludos
Responder Con Cita
  #3  
Antiguo 24-10-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola, Caral te falto una linea para estar mas seguros:

Código Delphi [-]
Query1.SQL.Text := 'Select IdDepartamento,Departamento from Departamentos';
Query1.Active   := True;
recs := Query1.MaxRecords;// esto no se para que lo usas?
Query1.First;
WHile not Query1.Eof Do
Begin
    Combo.Items.Add(Query1.Fields[0].asstring);
     Query1.Next;
end;

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #4  
Antiguo 24-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Y crees que haga falta con el eof?
No crees que este recorre la tabla desde el principio?
No se, Pregunto?.
Lo que hace es rellenar un combobox, curiosamente llama a dos campos, pero solo usa uno en el combo, por que?, ni idea, el sabrá.
En tal caso si afinamos mas seria algo asi:
Código Delphi [-]
Query1.SQL.Text := 'Select IdDepartamento,Departamento from Departamentos';
Query1.Active   := True;
recs := Query1.MaxRecords;// esto no se para que lo usas?
WHile not Query1.Eof Do
Begin
    Combo.Items.Add(Query1.Fields[0].asstring +' '+ Query1.Fields[1].asstring) ;
     Query1.Next;
end;
Maestro que te parece, he aprendido algo?
Saludos
Responder Con Cita
  #5  
Antiguo 24-10-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola Caral, lo que pasa es que a veces cuando se llena un combobox no siempre se llena con todos los datos, por eso el first para asegurarnos de que empiece desde el primer registro, lo digo porque ya me ha pasado varias veces, es solo para estar seguros.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #6  
Antiguo 24-10-2007
Avatar de Nomad
Nomad Nomad is offline
Miembro
 
Registrado: abr 2007
Ubicación: Sarchi,Costa Rica
Posts: 107
Poder: 18
Nomad Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Y crees que haga falta con el eof?
No crees que este recorre la tabla desde el principio?
No se, Pregunto?.
Lo que hace es rellenar un combobox, curiosamente llama a dos campos, pero solo usa uno en el combo, por que?, ni idea, el sabrá.
En tal caso si afinamos mas seria algo asi:
Código Delphi [-]Query1.SQL.Text := 'Select IdDepartamento,Departamento from Departamentos';
Query1.Active := True;
recs := Query1.MaxRecords;// esto no se para que lo usas?
WHile not Query1.Eof Do Begin Combo.Items.Add(Query1.Fields[0].asstring +' '+ Query1.Fields[1].asstring) ;
Query1.Next;
end;

Maestro que te parece, he aprendido algo?
Saludos
Ok se les agradece a ambos

Llamo los dos campos porque mas abajo los quiero utilizar.
Y Llamo el EOF a ver si asi sirve, porque como se caia al llegar al FindNext, entonces pense que si volvio a preguntar talvez no, pero siguio igual, voy a probar y luego les cuento.

Gracias!
__________________
Quisiera cambiar el mundo, pero no me dan el código fuente.
Responder Con Cita
  #7  
Antiguo 24-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me parece muy bien, por eso te pregunte, todos los dias se aprende algo.
Saludos
Responder Con Cita
  #8  
Antiguo 24-10-2007
Avatar de Nomad
Nomad Nomad is offline
Miembro
 
Registrado: abr 2007
Ubicación: Sarchi,Costa Rica
Posts: 107
Poder: 18
Nomad Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Y crees que haga falta con el eof?
No crees que este recorre la tabla desde el principio?
No se, Pregunto?.
Lo que hace es rellenar un combobox, curiosamente llama a dos campos, pero solo usa uno en el combo, por que?, ni idea, el sabrá.
En tal caso si afinamos mas seria algo asi:
Código Delphi [-]Query1.SQL.Text := 'Select IdDepartamento,Departamento from Departamentos';
Query1.Active := True;
recs := Query1.MaxRecords;// esto no se para que lo usas?
WHile not Query1.Eof Do Begin Combo.Items.Add(Query1.Fields[0].asstring +' '+ Query1.Fields[1].asstring) ;
Query1.Next;
end;

Maestro que te parece, he aprendido algo?
Saludos
Ese recs, era para ver si encontraba cuantos registros y para el ciclo de otra forma...
__________________
Quisiera cambiar el mundo, pero no me dan el código fuente.
Responder Con Cita
  #9  
Antiguo 24-10-2007
Avatar de Nomad
Nomad Nomad is offline
Miembro
 
Registrado: abr 2007
Ubicación: Sarchi,Costa Rica
Posts: 107
Poder: 18
Nomad Va por buen camino
Muchas gracias, problema resuelto
__________________
Quisiera cambiar el mundo, pero no me dan el código fuente.
Responder Con Cita
  #10  
Antiguo 25-10-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
y no podrias postear aqui la solucion, en caso de que a alguien mas le suceda lo mismo?.

Saludos
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #11  
Antiguo 25-10-2007
Avatar de Nomad
Nomad Nomad is offline
Miembro
 
Registrado: abr 2007
Ubicación: Sarchi,Costa Rica
Posts: 107
Poder: 18
Nomad Va por buen camino
Thumbs up Solucion

Cita:
Empezado por enecumene Ver Mensaje
y no podrias postear aqui la solucion, en caso de que a alguien mas le suceda lo mismo?.

Saludos
Es que la solucion, es lo que postearon los compañeros...

Query1.next en vez Query1.findnext y listo.
__________________
Quisiera cambiar el mundo, pero no me dan el código fuente.
Responder Con Cita
  #12  
Antiguo 25-10-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
OOOk, entendido.

Saludos
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
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
Problema con TAdoQuery, SQL Server 2005 y Windows Home Edition AFilth Conexión con bases de datos 6 05-09-2007 14:56:40
Problema con un TADOQuery Holderhek Conexión con bases de datos 2 02-02-2005 23:22:13
Problema parametros TAdoQuery Tio Conexión con bases de datos 4 02-06-2004 11:50:24
Parametros en un TADOQuery Osorio Conexión con bases de datos 2 24-11-2003 00:25:37
Problema con TADOQuery saul_montalvo Conexión con bases de datos 2 23-05-2003 19:08:54


La franja horaria es GMT +2. Ahora son las 13:17:01.


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