Форум: "Базы";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
ВнизПомогите чайнику немытому связать два датасета, пожалуйста! Найти похожие ветки
← →
ZDN (2002-03-15 09:59) [0]Уважаемые ГУРУ! Помогите чайнику немытому связать два датасета, пожалуйста!
Проблема такая. Есть две таблицы в БД Interbase Client и Cars.
Структура БД такая:
CREATE DATABASE "C:\database\Db.gdb" PAGE_SIZE 4096
DEFAULT CHARACTER SET WIN1251;
/* Table: CARS, Owner: SYSDBA */
CREATE TABLE CARS (IDCARS INTEGER NOT NULL,
IDCLIENT INTEGER NOT NULL,
CAR VARCHAR(20) CHARACTER SET WIN1251,
PRIMARY KEY (IDCARS));
/* Table: CLIENT, Owner: SYSDBA */
CREATE TABLE CLIENT (IDCLIENT INTEGER NOT NULL,
NAME VARCHAR(10) CHARACTER SET WIN1251,
PRIMARY KEY (IDCLIENT));
ALTER TABLE CARS ADD CONSTRAINT FK_CARS FOREIGN KEY (IDCLIENT) REFERENCES
CLIENT(IDCLIENT) ON UPDATE CASCADE ON DELETE CASCADE;
CREATE GENERATOR GEN_CLIENT_ID;
CREATE GENERATOR GEN_CARS_ID;
SET TERM ^ ;
/* Triggers only will work for SQL triggers */
CREATE TRIGGER CLIENT_BI_BI FOR CLIENT
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.IDCLIENT IS NULL) THEN
NEW.IDCLIENT = GEN_ID(GEN_CLIENT_ID,1);
END
^
CREATE TRIGGER CARS_BI_BI FOR CARS
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.IDCARS IS NULL) THEN
NEW.IDCARS = GEN_ID(GEN_CARS_ID,1);
END
^
COMMIT WORK ^
SET TERM ; ^
Создал 2 IBDataSet"а: ClientDataSet и CarsDataSet, написал для них все
запросы InsertSQL, DeleteSQL и т.п.
Включил кэширование. Для навигации по записям использую DBNavigator.
В результате все работает хорошо, но при выборе записи в главной
ClientDataSet в подчиненной
CarsDataSet не отображаются соответствующие ей записи.
Как решить эту проблему?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.016 c