Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-01-2008
LENOCB LENOCB is offline
Miembro
 
Registrado: dic 2008
Ubicación: Argentina
Posts: 54
Poder: 19
LENOCB Va por buen camino
Cargar un BDListBox

Hola, estoy tratando de cargar automaticamente un DBListBox pero no da pie con bola esto, les comento, tengo en un datamodule una adoconnection; en el form tengo el dblistbox tambien tengo un datasource y un adoquery.
seteo en el dblistbox lo siguiente :
DataSource = DS1 (el datasource del form)
DataFiel = Nombre (el campo del la tabla )

en el DataSource lo puse así :

DataSet = ADOQuery1

en el ADOQuery1 lo puse así:
connection : ADOConnection (del DataModule)
y la sentencia sql es la siguiente :
Select * From TGrupos.

y no muestra nada en el dblistbox, lo raro es que la conexion me dice que esta bien ..

que pasará ??
saludos
Responder Con Cita
  #2  
Antiguo 05-01-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Como no se hacer las cosas bien, entonces las hago asi:
Código Delphi [-]
 QTemp.SQL.Text := 'Select CodCliente From Clientes ';
   QTemp.Active := True;
   While not QTemp.Eof do
   begin
      DBListBox1.Items.Add(QTemp.Fields[0].Text);
      QTemp.Next;
Y no tengo que enlazar el componente con nada.
Saludos
Responder Con Cita
  #3  
Antiguo 05-01-2008
LENOCB LENOCB is offline
Miembro
 
Registrado: dic 2008
Ubicación: Argentina
Posts: 54
Poder: 19
LENOCB Va por buen camino
gracias por responder pero me salta el siguiente error
List Index Out Of Bounds(0)
Responder Con Cita
  #4  
Antiguo 05-01-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Si colocas el codigo como te lo puse, es muy probable.
El asunto esta asi:
List Out Of Bounds quiere decir que no estas enlazando el campo que debes.
recuerda que los campos empiezan en 0
ejemplo:
Tengo una tabla con estos campos:
nombre
edad
fecha
osea tres campos
el campo nombre seria el campo 0
Si colocas la sentencia con dos campos, te dara ese mismo error.
Espero que lo entiendas.
Saludos
Responder Con Cita
  #5  
Antiguo 05-01-2008
LENOCB LENOCB is offline
Miembro
 
Registrado: dic 2008
Ubicación: Argentina
Posts: 54
Poder: 19
LENOCB Va por buen camino
en la tabla tengo 2 campos , el error ya esta, era que ponia 1º el active en true y era despues de la llamada al query; pero no muestra nada, sigue sin mostrar nada en el dblistbox
Responder Con Cita
  #6  
Antiguo 05-01-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Revisa bien todo, yo lo probé antes de decirlo y si carga los datos.
Saludos
Responder Con Cita
  #7  
Antiguo 05-01-2008
LENOCB LENOCB is offline
Miembro
 
Registrado: dic 2008
Ubicación: Argentina
Posts: 54
Poder: 19
LENOCB Va por buen camino
Hola
esto es lo que puse, y no sigue sin cargar nada, yo uso ADO, por ahí debe estar el tema, hay alguna forma que veas lo que hice ??

ADOQuery2.SQL.Text:='';
ADOQuery2.SQL.Text:='Select Nombre From TGrupos ';
ADOQuery2.Active:=True;

While (ADOQuery2.Eof) DO BEGIN
DBListBox1.Items.Add(ADOQuery2.Fields[0].Text);
ADOQuery2.Next;
Responder Con Cita
  #8  
Antiguo 05-01-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Yo uso Ado y no es el problema.
Si quieres puedes poner un archivo adjunto, pero tengo una duda?
Para que pones dos veces:
Código Delphi [-]
ADOQuery2.SQL.Text:=
No tiene logica, text borra el contenido de la consulta si hay alguna otra en el query, no se necesita clear ni nada por el estilo.
Lo normal es:
Código Delphi [-]
ADOQuery2.SQL.Text:='Select Nombre From TGrupos ';
ADOQuery2.Active:=True;

While not ADOQuery2.Eof DO BEGIN
DBListBox1.Items.Add(ADOQuery2.Fields[0].Text);
ADOQuery2.Next;

Si te fijas bien en tu consulta, veras que:
1- Tienes repetido text.
2- No tienes NOT en el while
3- encierras el query entre parentesis.
Saludos
Responder Con Cita
  #9  
Antiguo 05-01-2008
LENOCB LENOCB is offline
Miembro
 
Registrado: dic 2008
Ubicación: Argentina
Posts: 54
Poder: 19
LENOCB Va por buen camino
jeje, se nota que sabes !!!
ya está eran esas cosas nomás.-
Muchisimas Gracias ...

pronto pondré nuevas dudas jaja

saludos
Responder Con Cita
  #10  
Antiguo 05-01-2008
LENOCB LENOCB is offline
Miembro
 
Registrado: dic 2008
Ubicación: Argentina
Posts: 54
Poder: 19
LENOCB Va por buen camino
Hola, tengo otra pregunta.-
yo quiero ahora,que al hacer click sobre uno de los campos del dblistbox, se muestre en un dbgrid, los datos correspondiente a ese campo, ejemplo, en mi ejemplo si se hace click en internet(un campo del listbox), yo quiero que en el dbgrid me salga lo relacionado a interntet, que claro está, en otra tabla, en donde tengo el id (de internet) de lo que seleccioné, me explico, no me sale como pasar el parametro para hacer la consulta correspondiente, el parametro que le paso es el nuemero de posision del dblistbox, que coincide con el campo codigo_g de la tabla de TGrupos, a ese codigo se lo mando (!! ese es el problema no se como hacerlo ¡¡) a la tabla TDesG, para que busque que datos tienen el mismo codigo y lo muestro en el dbgrid.-
Se entendió ??
saludos
Responder Con Cita
  #11  
Antiguo 05-01-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Bueno, veo que nos as visto el wiki.
Aqui tienes un ejemplo sencillo.
Código Delphi [-]
procedure TForm1.ListBox1Click(Sender: TObject);
begin
    case ListBox1.ItemIndex of
     0 : begin
          ShowMessage('hola');
         end;
     1 : begin
          ShowMessage('nada');
         end;
 end;
end;
Como veras:
1- se usa el evento onclick del listbox
2- se usa un case of
3- se definen los items por numero.
Es una de las tantas formas de hacerlo.
Saludos
Responder Con Cita
  #12  
Antiguo 05-01-2008
LENOCB LENOCB is offline
Miembro
 
Registrado: dic 2008
Ubicación: Argentina
Posts: 54
Poder: 19
LENOCB Va por buen camino
si lo vi , pero con un case, se volveria lento digamos si tengo demasiados campos en dblistbox, a demas al dblistbox pueden agregarse nuevos campos, así que con un case no sirviria, ya saqué la forma de saber en cual de los campos del dblistbox se hizo referencia, eso me da un numero, ahora lo que no se es como pasarlo a otra consulta, para que en el dbgrid, me muestre otra informacion referida a ese numero, me explico ?
Responder Con Cita
  #13  
Antiguo 05-01-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Codigo, siempre codigo es la mejor forma de ver que pasa o que quieres hacer.
Coloca el codigo de lo que tienes, asi veremos o entenderemos mas.
Saludos
Responder Con Cita
  #14  
Antiguo 05-01-2008
LENOCB LENOCB is offline
Miembro
 
Registrado: dic 2008
Ubicación: Argentina
Posts: 54
Poder: 19
LENOCB Va por buen camino
es que ese es el problema no me sale el codigo, por ejemplo;
en COD (que es una variable integer), tengo guardado el numero que hace referencia a lo seleccionado en el dblistbox; ahora yo quiero pasar como parametro (todo en ADO), ese COD, para poder hacer otra consulta, la macana es esa, no se como hacerlo, acá pongo mas o meno el codigo en donde busco y guardo ese COD, para luego pasarlo a la consulta

begin
i:=0;
cant:=DBListBox1.Count;
While (i <> cant) do begin
If(DBListBox1.Selected[i]=True)then
cod:=i+1;
i:=i+1;
end;
edit1.Text:=IntToStr(cod);
FormSistema.ADOQuery1.SQL.Text:='Select Cod_G From TContraseñas Where ((Cod_G) = cod ) ';
FormSistema.ADOQuery1.Active:=True;

y no compila, alguna macana me estoy mandando y no me doy cuenta, jeje
Responder Con Cita
  #15  
Antiguo 05-01-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Veamos asi:
Código Delphi [-]
begin
i:=0;
cant:=DBListBox1.Count;
While (i <> cant) do begin
If(DBListBox1.Selected[i]=True)then
cod:=i+1;
i:=i+1;
end;
FormSistema.ADOQuery1.SQL.Text:='Select Cod_G From TContraseñas Where Cod_G = :cod ) ';
edit1.Text:=IntToStr(cod);
FormSistema.ADOQuery1.Active:=True;
end;
No se exactamente que pretendes hacer, pero hoy no traje la bolita.
Saludos
Responder Con Cita
  #16  
Antiguo 05-01-2008
LENOCB LENOCB is offline
Miembro
 
Registrado: dic 2008
Ubicación: Argentina
Posts: 54
Poder: 19
LENOCB Va por buen camino
jaja, lo que intento hacer, acá en manejar contraseñas, en el dblistbox estan los grupos de esas contraseñas, por ejemplo Internet; lo que quiero es que al hacer click sobre el link del dblistbox (por ejemplo en Internet), en el dbgrid me salga las contraseñas, el nombre del usuario para ese grupo (es decir Internet).-
Responder Con Cita
  #17  
Antiguo 05-01-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Ves, estoy mas perdido que tu.
Olvida el otro, no va a servir, este es:
Código Delphi [-]
begin
i:=0;
cant:=DBListBox1.Count;
While (i <> cant) do begin
If(DBListBox1.Selected[i]=True)then
cod:=i+1;
i:=i+1;
end;
FormSistema.ADOQuery1.SQL.Text:='Select Cod_G From TContraseñas Where Cod_G = :cod ) ';
FormSistema.ADOQuery1.Parameters.ParamByName('cod').Value := StrToInt(Edit2.Text);
FormSistema.ADOQuery1.Active:=True;
end;
o tambien:
Código Delphi [-]
begin
i:=0;
cant:=DBListBox1.Count;
While (i <> cant) do begin
If(DBListBox1.Selected[i]=True)then
cod:=i+1;
i:=i+1;
end;
FormSistema.ADOQuery1.SQL.Text:='Select Cod_G From TContraseñas Where Cod_G = :cod ) ';
FormSistema.ADOQuery1.Parameters[0].Value := StrToInt(Edit2.Text);
FormSistema.ADOQuery1.Active:=True;
end;
Ahora si vera el parametro cod.
Saludos
Responder Con Cita
  #18  
Antiguo 05-01-2008
LENOCB LENOCB is offline
Miembro
 
Registrado: dic 2008
Ubicación: Argentina
Posts: 54
Poder: 19
LENOCB Va por buen camino
Hola
esta parte: edit1.Text:=IntToStr(cod);
solo lo hago para guiarme nada mas y poder ver si esta bien el numero que tira, yo eso ya lo tengo guardado en cod ; me explico ? igual no muestra nada en el dbgrid !!!!
Responder Con Cita
  #19  
Antiguo 05-01-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Que dificil la pones.
Primero, supongo que el dbgrid lo tienes ligado a la consulta, (adoquery1).
Si tienes el codigo en cod, pues es el que vas a usar.
Código Delphi [-]
begin
i:=0;
cant:=DBListBox1.Count;
While (i <> cant) do begin
If(DBListBox1.Selected[i]=True)then
cod:=i+1;
i:=i+1;
end;
FormSistema.ADOQuery1.SQL.Text:='Select Cod_G From TContraseñas Where Cod_G = :cod ) ';
FormSistema.ADOQuery1.Parameters.ParamByName('cod').Value := cod;
FormSistema.ADOQuery1.Active:=True;
end;
Me imagino que sera asi.
Recuerda que cod es integer, el campo (Cod_G) tambien lo tiene que ser.
Saludos
Responder Con Cita
  #20  
Antiguo 05-01-2008
LENOCB LENOCB is offline
Miembro
 
Registrado: dic 2008
Ubicación: Argentina
Posts: 54
Poder: 19
LENOCB Va por buen camino
hola, no me deja ligar el dbgrid al adoquery, solo aun datasource ; ahora me aparecen bien los registros, pero no se ven, se entiende ? cuando hago click e internet, en el dbgrid salen 2 filas (que estan bien, ya que tengo 2 referencias a internet), pero no los veo.... jeje me esta volviendo loco esto
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
Cargar un JComboBox La__X JAVA 4 09-06-2007 03:46:07
cargar imagenes de bdd dimitri PHP 1 20-03-2007 10:23:36
cargar xml en un ttable walace_soy Varios 0 27-06-2005 09:03:25
cargar flash y gif detybel Gráficos 1 29-03-2005 17:27:01
Cargar imagenes ramonibk Gráficos 7 26-07-2004 16:12:35


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


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