Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   inclusion de un mismo dato en varias tablas (https://www.clubdelphi.com/foros/showthread.php?t=19530)

kryna 17-03-2005 13:09:20

inclusion de un mismo dato en varias tablas
 
la pregunta es la siguiente... tengo tres tablas t1,t2,t3 con sus respectivos campos.
t1 y t2 tienen un campo en comun cod_d; y t2 y t3 tienen un campo en cumun cod_c...
como hago para que cuendo incluya los compos en las tablas se inserte el mismo compo en las dosa tablas... lo estoy haciendo asi...pero solo me incluye el campo en la primera tabla... qestoy haciendo mal como y donde los direcciono

Tbconcepto.Insert;
Tbconcepto.FieldByName('cod_especialidad').AsString := DBEdit1.Text;
Tbconcepto.FieldByName('cod_concepto').AsString := DBEdit2.Text;
Tbconcepto.FieldByName('descripcion_concepto').AsString := DBEdit3.Text;
Tbconcepto.post;


Tbespecialidad.Insert;
Tbespecialidad.FieldByName('cod_especialidad').AsString := DBEdit1.Text;
Tbespecialidad.FieldByName('descripcion_especialidad').AsString := DBEdit4.Text;
Tbespecialidad.FieldByName('orden').AsString := DBEdit5.Text;
Tbespecialidad.post;

Tbmonto.Insert;
Tbmonto.FieldByName('cod_concepto').AsString := DBEdit2.Text;
Tbmonto.FieldByName('monto').AsString := DBEdit6.Text;
Tbmonto.FieldByName('fecha').AsString := DBEdit7.Text;
Tbmonto.post;

ademas cuando trato de consultar solo veo los datos de una tabla y no de las 3 qtengo, me digeron q debia tener un tquery asociado a todos los dbedit pero no se como hacerlo ... la busqueda la estoy haciendo asi, en el sql del query tengo SELECT * FROM "CONCEPTO.DB" concepto
WHERE concepto.Cod_concepto = :Codigo
if editorcodigo <> nil then ;// edit donde esta la referencia

qrybaremo.Close;


if qrybaremo.Params[0].DataType = ftFloat
then
qrybaremo.Params[0].AsFloat := StrToFloat(editorcodigo.Text)
else
qrybaremo.Params[0].AsString := editorcodigo.Text+'%';

qrybaremo.Open;

concepto.DataSet := qrybaremo;


if qrybaremo.EOF then ShowMessage('No encontré ningún Registro!');

DB-ADO 17-03-2005 14:48:18

El problema esta en que estas insertando en una misma tabla que esta relacionada con el sqlcomponent que tengas.
Tenes que tener un SQLCOMPONENT para cada una de las tablas y de ahi te referis a cada uno de los SQLComponents, se entiende?

kryna 17-03-2005 15:17:03

disculpa soy nueva en delphi y no te entendi bien... q quieres decir con SQLCOMPONENT... podria darme un ejemplo.. gracias

Lepe 18-03-2005 11:39:11

En principio el código está bien.

¿Tienes una relación en las tablas a través de esos campos comunes?
Si es así, debes insertar primero en la tabla Maestra, y despues en la de detalle.

Viendo el código, supongo que Especialidad es la tabla maestra, por tanto, su código de insertar, debe ir antes de insertar en Concepto.

Un saludote


La franja horaria es GMT +2. Ahora son las 15:12:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi