[Lazarus-es] Ayuda con base de datos y mostrar en grib

pedrinlazarus en htmltest.comeze.com pedrinlazarus en htmltest.comeze.com
Lun Oct 1 21:20:05 CEST 2012



Ya lo resolvi 

Spanish version of Lazarus List  

El 1 de octubre de 2012 12:36,  escribi: 

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 

______________________________ _________________
 Lazarus-es mailing list
 Lazarus-es en lists.lazarus.freepascal.org [2]
 http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es [3]


Links:
------
[1] mailto:pedrinlazarus en htmltest.comeze.com
[2] mailto:Lazarus-es en lists.lazarus.freepascal.org
[3] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20121001/f2460674/attachment-0002.html>


More information about the Lazarus-es mailing list