Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   IbTable o IbDataset (https://www.clubdelphi.com/foros/showthread.php?t=3605)

NickName 12-09-2003 20:52:21

IbTable o IbDataset
 
Hola.

Estoy desarrollando un sistema en Delphi6 Interbase 6, y quisiera saver cuales son las ventajas y desventajas al usar un IbTable o un IBDataset.

Por ejemplo yo he usado tablas y las enlazo Master Detail, pero si utilizo un IbDataset no puedo hacer esto, solo con IbQuery donde digo si Master.Cod = Datail.Cod muestrame Tal registro, esto esta bien pero cada vez que modifico algo o cambio de registro abrir y serrar el IbQuery no me agrada.

Quisiera saber si afectaria a mi aplicación en velocidad si uso Ibtable o seria lo mismo si uso IbDataset.


Saludos.....

Héctor.

__cadetill 12-09-2003 21:00:38

Cita:

Posteado originalmente por NickName
Por ejemplo yo he usado tablas y las enlazo Master Detail, pero si utilizo un IbDataset no puedo hacer esto
Bueno, esto no es cierto, siento contradecirte. La forma de hacerlo es la misma que en los TIBQuery.

Al TIBDataset del detalle le tienes que informar la propiedad DataSource con el TDataSource que apunte a la tabla maestra y, luego, en la propiedad SelectSQL poner lo mismo que pondrías en un TIBQuery. Si suponemos que las tablas son factura y detalle que se unen por el campo Numero, quedaría algo así

Código:

select *
from detalle
where numero = :numero

y ya tienes hecha una relación master-detail con los TIBDataset

NickName 12-09-2003 21:27:45

Hola.

Gracias por contestar, no puedo ver los datos en ninguna parte del IBDataset detalle.

Tabla maestra

Código:


Select *
From  CatMercancia

Tabla detalle

Código:



Select *
From      Proveedores
Where  IdProveedor =  :IdProveedor

y enlazo el Datasourse de la tabla proveedores con DsCatMercancia que apunta a la tabla maestra.

no se donde esta el error.

__cadetill 12-09-2003 22:14:30

se supone que la tabla CatMercancia tiene el campo IdProveedor o es al reves?? si es al reves, la union de las dos tablas las estas haciendo mal, sería justo al contrario

NickName 13-09-2003 04:13:26

Hola

Cita:

se supone que la tabla CatMercancia tiene el campo IdProveedor.
Tenias Razon cadetill, muchas gracias por abrir mi mente un poco mas, el error era que tengo la tabla CatMercancia enlazada a una tabla puente que es la que guarda la relación CatMercancia.CodigoMercancia con varios proveedores Proveedor.IdProveedor,

Código:

CREATE TABLE RELCATMERPROV (
    IDRELCATMERPROV  ID,
    RELIDPROVEEDOR  CADENA,
    CODIGOMERCANCIA  VARCHAR(8) NOT NULL
);

y era esta la que tenia que enlazar primero y sobre esta los proveedores.

Muchas gracias de nuevo, me evitastes escribir mucho codigo....

Saludos.

Héctor


La franja horaria es GMT +2. Ahora son las 20:41:42.

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