[Lazarus-es] Ayuda con base de datos y mostrar en grib
pedrinlazarus en htmltest.comeze.com
pedrinlazarus en htmltest.comeze.com
Lun Oct 1 19:06:55 CEST 2012
Buenas tengo la siguiente duda
Tengo una BD y en ella tengo tres tablas
Cadena_SQL:='CREATE TABLE IF NOT EXISTS "main"."mesas" ("id" INTEGER
PRIMARY KEY,"mesa" VARCHAR(30),"ocupado" VARCHAR(30));';
Sqlite3Dataset1.SQL:=Cadena_SQL;
Sqlite3Dataset1.ExecSQL;
Cadena_SQL:='CREATE TABLE IF NOT EXISTS "main"."cliente" ("nombre"
VARCHAR(30), "rif" VARCHAR(30),"id_mesa" INTEGER,"id_factura" INTEGER);';
Sqlite3Dataset1.SQL:=Cadena_SQL;
Sqlite3Dataset1.ExecSQL;
Cadena_SQL:='CREATE TABLE IF NOT EXISTS "main"."factura" ("id" INTEGER
PRIMARY KEY,"producto" VARCHAR(30),"precio" INTEGER,"rif_cliente"
VARCHAR(30));';
Sqlite3Dataset1.SQL:=Cadena_SQL;
Sqlite3Dataset1.ExecSQL;
Entonces el detalle esta en que tengo tres dbgrids, en la primera se
muestra los datos de la tabla mesas, esta va a estar fija.
En la segunda se va a mostrar el cliente dependiendo de la tabla mesa,
Supongamos que la mesa 2 esta ocupada por lo tanto tiene un cliente,
entonces al yo seleccionar la mesa dos en la dbgrid2
me deberia de aparecer
los datos del cliente.
Lo pude hacer utilizando un reloj haciendo la consulta de la mesa que
seleccione guardando el id en una variable
========================================================
Sqlite3Dataset2.close;
Sqlite3Dataset2.SQL:='SELECT * FROM cliente where id_mesa="'+mesa+'";';
Sqlite3Dataset2.ExecSQL;
Sqlite3Dataset2.Open;
Sqlite3Dataset3.close;
Sqlite3Dataset3.SQL:='SELECT * FROM factura where id="'+nfactura+'";';
Sqlite3Dataset3.ExecSQL;
Sqlite3Dataset3.Open;
donde mesa y nfactura son variables que toman un valor respectivo
========================================================
Lo muestra pero es muy feo ya que la pantalla parpadea porq el reloj
realiza la consulta cada 200ms.
Me dijeron que haciendo esto
query1 datasource1 para tabla1
query2 datasource2 para tabla2
query3 datasource3 para tabla3
y haciendo esto en sus opciones
al primer query le coloque solo conexion=zconexion
al segundo query igual conexion=zconexion y
en datasourse=datasource1
al tercer query igual conexion=zconexion y en datasourse=datasource2
Ya no se necesita el reloj pero solo muestra la tabla mesa y cuando
selecciono la mesa que tiene un cliente no me aparecen los datos en la
dbgrib2
Ayuda por favor y gracias de antemano
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20121001/7684e41d/attachment-0002.html>
More information about the Lazarus-es
mailing list