[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