PDA

Ver la Versión Completa : consulta en FIBplus mostrarla en un DBgrid??


sakuragi
13-09-2006, 13:36:26
hola que tal.

voy empesando con este tipo de componente para conectarme a firebird.

tengo una consulta que funciona, mas no eh podido mostrala en un DBgrid,

uso es pFIBdatabases para conectar a la base de datos, pFIBtransaction para pasar lo de que tenga en pFIBquery donde esta la consulta, pFIBdataset para conectar a un datasource y este al DBgrid,

enlaso todos los componetes, pero no eh podido hacer que me muestre el resultado en un DBgrid, se puede hacer esto?

saludos

gracias.

Casimiro Notevi
13-09-2006, 13:57:17
¿y el datasource?

kalimero
13-09-2006, 15:33:57
¿Has puesto la consulta SQL en la propiedad 'Selectsql' del daaset y despues has hecho open?

saludos

kalimero
13-09-2006, 15:35:38
De todas formas dices que:

"uso es pFIBdatabases para conectar a la base de datos, pFIBtransaction para pasar lo de que tenga en pFIBquery donde esta la consulta, pFIBdataset para conectar a un datasource y este al DBgrid, "

un poco dificil de entender ¿no crees?. Procura esmerarte un poco mas formulando la pregunta.De lo contrario la gente no se esmerara respondiendote.

Saludos

sakuragi
14-09-2006, 00:08:25
gracias por responder.

la consulta se hace por codigo.


FIBQ1.SQL.Clear;
fibq1.SQL.Add('select codigo,descripcion,linea,fecha_de_alta,existencia_minima from productos');
fibq1.ExecQuery;
pFIBtransaction1.Commit;


como vengo de usar los componetes de ado, para las consultas es una "Query.open", pero en este componente no me lo asepta, entonses deje ese que muestro.

en ado para mandar la consulta de query a DBgrid, se hace mediante un datasource, en la propiedad de dataset del DataSource se pone el nombre de ADOquery, y asi correl el ADOquery ya parese en DBgrid,

ahora con FIBplus, el FIBquery donde pongo a consulta, no entra en la propiedad de dataset del DataSource, entonses se agrego un FIBDataSet, en este ya aparese en la propieda de DataSet del DataSource,del componente FIBdataset en la propiedad "Transaction" se pone el FIBtransaction el cual aparese en la propiedad "transaction" del FIBquery.

DBgrid<--DataSource<--FIBdataset<--FIBtransaction<--FIBquery.

Nota: Eh hecho una insercion mediante codigo con FIBquery (no desde DBgrid).

saludos.

kalimero
14-09-2006, 10:39:40
VAmos a ver. No acabo de entender porque usas un FibQuery y un Fibdataset.
Quita el FibQuery. Enlaza el datasource con el FibDataset y el grid con el datasource. En la propiedad selectsql escribe la consulta, luego Fibdataset.open y listo. Deberian salirte los registros en el grid.

saludos

sakuragi
14-09-2006, 11:24:42
ahhh :rolleyes: oks.

muchas gracias (:

saludos

PD: si ahi firerencia con los componetes std.

claudiorene
20-06-2007, 23:51:42
Acabo de hacer lo que recomienda Kalimero, pero cuando pongo en el proced create del fomulario donde tengo los controles fibplus, el metodo open del componente DataSet, me arroja un error grave.

No se que es lo que puedo estar haciendo mal. Despues esta todo igual como dicen ustedes amigos.

Espero haber sido claro. Gracias por su tiempo

kalimero
21-06-2007, 15:42:01
Hola

No lo pongas en el create. Puede que estes intentando abrir un dataset que todavia no está creado. De ahí el error grave. Prueba a ponerlo en el onShow, por ejemplo.

saludos