<p>Ya lo resolvi</p>
<p> </p>
<p> </p>
<p>Spanish version of Lazarus List <lazarus-es@lists.lazarus.freepascal.org></p>
<p> </p>
<p><br /><br />El 1 de octubre de 2012 12:36,  <span><<a href="mailto:pedrinlazarus@htmltest.comeze.com" target="_blank">pedrinlazarus@htmltest.comeze.com</a>></span> escribió:</p>
<p>Buenas tengo la siguiente duda</p>
<p> </p>
<p>Tengo una BD y en ella tengo tres tablas</p>
<pre style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; min-height: 194px; text-align: left; overflow: auto;" dir="ltr">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;</pre>
<p> </p>
<p>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.</p>
<p> </p>
<p>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.</p>
<p> </p>
<p>Lo pude hacer utilizando un reloj haciendo la consulta de la mesa que seleccione guardando el id en una variable</p>
<p>========================================================</p>
<p>Sqlite3Dataset2.close;<br />Sqlite3Dataset2.SQL:='SELECT * FROM cliente where id_mesa="'+mesa+'";';<br />Sqlite3Dataset2.ExecSQL;<br />Sqlite3Dataset2.Open;<br /><br />Sqlite3Dataset3.close;<br />Sqlite3Dataset3.SQL:='SELECT * FROM factura where id="'+nfactura+'";';<br />Sqlite3Dataset3.ExecSQL;<br />Sqlite3Dataset3.Open;</p>
<p> </p>
<p>donde mesa y nfactura son variables que toman un valor respectivo</p>
<p>========================================================</p>
<p> </p>
<p>Lo muestra pero es muy feo ya que la pantalla parpadea porq el reloj realiza la consulta cada 200ms.</p>
<p> </p>
<p>Me dijeron que haciendo esto</p>
<p>query1             datasource1 para tabla1<br /> query2             datasource2 para tabla2<br /> query3             datasource3 para tabla3<br /> <br /> y haciendo esto en sus opciones</p>
<p><br /> al primer query le coloque solo conexion=zconexion<br /> <br /> al segundo query igual conexion=zconexion y en datasourse=datasource1<br /> <br /> al tercer query igual conexion=zconexion y en datasourse=datasource2</p>
<p>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</p>
<p> </p>
<p>Ayuda por favor y gracias de antemano</p>
<p> </p>
<p> </p>
<p><br />______________________________</p>
<blockquote class="gmail_quote" style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;">_________________<br /> Lazarus-es mailing list<br /> <a href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</a><br /> <a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br /></blockquote>