Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   cargar dbgrid con adoquery (https://www.clubdelphi.com/foros/showthread.php?t=71471)

agustin173 21-12-2010 01:09:49

cargar dbgrid con adoquery
 
hola muchachos como estan todos

muchachos quiero cargar un dbgrid usando adoquery me explico mejor

estoy usando delphi 7
una tabla llamada = suplidor
con varios campos pero los unicos campos que deseo de la tablan son (Codigo y Suplidor)
un adoquery llamado = ADOGrid
estoy usando SQL Server 2008

estoy tratando de llenar un grid con los datos de una tabla llamada suplidor, solo tomando dos campos de ella que son (Codigo y Suplidor) como puedo llenar este grid y que componente necesito aparte del adoquery y como comfigurarlo ayudenme por favor.

ecfisa 21-12-2010 01:35:42

Hola Agustin.

Si no te entiendo mal y tenés un TDBGrid, un TDataSource y un TAdoQuery donde: TDBGrid-> TDataSource -> TADoQuery

Entonces bastaría con hacer:
Código Delphi [-]
...
  ADOGrid.Close;
  ADOGrid.SQL.Text:= 'SELECT CODIGO, SUPLIDOR FROM SUPLIDOR';
  ADOGrid.Open;
...

Saludos.

agustin173 21-12-2010 14:38:51

ecfisa excusame es que tengo que tener un tdadatasource obligatorio.

porque no se como configurarlo. pero voy a intentar.

si puedes decirme como hacerlo te lo agradeceria.

ecfisa 21-12-2010 15:22:06

Hola Agustin.

Si, es necesario. Los componentes Data Aware (DBEdit, DBComboBox, DBGrid, etc) se conectan con el TDataSet
mediante un TDataSource.

Poniendo por ejemplo: DBGrid1, ADOQuery1 y DataSource1, sólo tenés que configurar la propiedad DataSource de
DBGrid1 y la propiedad DataSet de DataSource1 para establecer la relación.

DBGrid1.DataSource -> DataSource1
DataSource1.DataSet -> ADOQuery1

Podés asignarlo en tiempo de diseño mediante el Object inspector.

No es necesario crear un DataSource por cada control, lo normal es que los controles que intervienen en la edición de un registro
estén apuntando a un mismo TDataSource. (Es decir que tengan todos la propiedad DataSource apuntando al mismo TDataSource).

Saludos.

agustin173 21-12-2010 22:35:59

ok voy a probar luego te digo el resultado

agustin173 22-12-2010 00:30:59

ecfisa no doy con la configuracion del datasource y el adoquery te voy a explicar lo que he echo

puse un tdatasource y en su propiedad datase puse ADOGrid, a si se llama el ADOQuery

y puse un tAdoquery llamado = ADOGrid

puse en su propiedad Actice puse True
puse en la propiedad connection puse frmlogin.conexion esa es mi conexion a la base de dato.
Puse en la propiedad SQL puse select codigo, suplidor from suplidor

pero la propiedad datasource no me trae nada cuando le doy al cotejo no se que debo hacer para que me funcione la propiedad datasource del adoquery puedes ayudarme por favor a configurar mi datasource y mi adoquery

ecfisa 22-12-2010 01:53:32

Hola Agustin.

Si tenés establecidas las propiedades de este modo:
Cita:

TADOQuery:
ADOQuery1.Connection -> ADOConnection1
ADOQuery1.SQL.Text -> 'SELECT CODIGO, SUPLIDOR FROM SUPLIDOR'
ADOQuery1.Active -> True

TDataSource:
DataSource1.DataSet -> ADOQuery1
DataSource1.Enabled->True

TDBGrid:
DBGrid1.DataSource-> DataSource1
Tendrías que ver los datos en el DBGrid sin problemas.

Los nombres de los componentes son los dados por Delphi para evitar cualquier confución.


Un saludo.

agustin173 22-12-2010 02:13:39

ecfisa en las propiedades de cada uno de ellos de; Adoquery, del Datasource y del grid lo puso como me dijiste y no funciona el grid esta vacio.

yo estoy haciendo esto sin codigo es solo desde la ventana de propiedades del inspector de objetos.

ecfisa 22-12-2010 03:44:38

Hola Agustin.

Para probar use el ejemplo que viene con Delphi dbdemos.mdb y muestra los datos en el DBGrid sin ningún problema.

Sin usar código, configuré del siguiente modo:
Cita:

ADOConnection1:
ADOConnection1.ConnectionString -> C:\Program Files\Common Files\Borland Shared\Data\dbdemos.mdb
ADOConnection1.LoginPropmt -> False;

ADOQuery1:
ADOQuery1.Connection-> ADOConnection1
ADOQuery1.SQL.Text -> 'SELECT OrderNo, CustNo FROM ORDERS'
ADOQuery1.Active -> True

DataSource1:
Datasource1.DataSet-> ADOQuery1

DBGrid1:
DBGrid1.DataSource -> DataSource1.
Espero que el ejemplo te pueda ayudar a solucionarlo...

Saludos.

agustin173 22-12-2010 23:53:40

hay ecfisa hay mi hermano tu me vas a matar si te digo que todo funcionaba bien desde la primera vez que me dijiste que hacer.

Fue una animalada mia que cambie el color de las letras de una parte del dbgrid y el color lo cogio las celdas de los resultado y por eso no se vei el resultado gracias al tercer comentario tuyo me di cuenta del error.

mi hermano gracias y mil excusa por ponerte a trabajar de mas.

ecfisa 23-12-2010 02:07:45

No te preocupes... esas cosas pasan ;)


Saludos. :)

GerardoU 02-09-2011 00:00:32

ADOQuery en Delphi5 para SQLServer2008
 
Amigos... he leido la solución para D7 y he visto que funciona perfecto. Pero, con D5 habrá algo mas que hacer o simplemente no hay compatibilidad y nunca funcionará?

He intentado lo que le ha funcionado al colega en D7 pero a mi con D5 Enterprise... nops!

Gracias de antemano.
G

doom2005 15-12-2011 03:56:27

Cita:

Empezado por ecfisa (Mensaje 385593)
Hola Agustin.

Si tenés establecidas las propiedades de este modo:


Tendrías que ver los datos en el DBGrid sin problemas.

Los nombres de los componentes son los dados por Delphi para evitar cualquier confución.


Un saludo.

gracias ecfisa, busqué eso por todos lados y nadie explicaba tan bien como tu, funciona sin problemas.
Saludos


La franja horaria es GMT +2. Ahora son las 03:32:30.

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