Форум: "Базы";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
ВнизКлиент-серверная работа с Interbase Найти похожие ветки
← →
negrila (2004-06-16 14:21) [0]Прошу прощения, но я ничего не понимаю в работе с клиент-серверными БД. Lookup-поля в локальном варианте мне много всего позволяли делать, а с
клиент-сервером у меня полная неразбериха.
Вот примерная структура БД, это все абстрактно, мне нужно лишь для понимания.
Таблица Authors
ID - уникальный идентификатор писателя или группы
ID2 - ссылка на идентификатор группы писателей (Authors.ID), если 0 - писатель не включен ни в одну группу. У группы всегда равна 0.
Name - наименование группы либо имя писателя.
CITY_ID - ссылка на город, где живет писатель (CITIES.ID)
STATUS_ID - ссылка на статус писателя (STATUSES.ID)
Таблица STATUSES
ID - уникальный идентификатор статуса писателя
STATUS - описание статуса: новичок, бывалый, мастер
Таблица CITIES
ID - уникальный идентификатор города
CITY_NAME - название города.
Пример таблиц
STATUSES
ID STATUS
1 новичок
2 бывалый
3 мастер
CITIES
ID CITY_NAME
1 Киев
2 Москва
3 Санкт-Петербург
4 Лондон
AUTHORS
ID ID2 Name CITY_ID STATUS_ID
1 0 Украинские 0 0
2 1 Голыцько 1 1
3 0 Российские 0 0
4 1 Олексенко 1 2
5 0 Смитт-Уайлд 4 1
6 3 Аркадьев 3 1
Как мне пользуясь компонентами со вкладки Interbase заставить программу показывать и изменять данные о писателях в виде,
понятном пользователю, т.е. при изменении, добавлении и т.п не мучать его с вводом ID2, CITY_ID и STATUS_ID, которые он не обязан запоминать, а сделать комбобокс или DBEhLibGrid, чтобы он выбирал понятные ему
Киев, Санкт-Петербург, статус из комбобокса Новичок, Бывлаый и т.д.? Ведь в клиент-серверном мне все это нужно описать в InsertSQL, Select SQL(ну это-то понятно каак делать), ModifySQL и т.п.
← →
Соловьев © (2004-06-16 14:23) [1]
> клиент-сервером у меня полная неразбериха
http://ibase.ru/develop.htm
← →
Digitman © (2004-06-16 17:12) [2]
> Ведь в клиент-серверном мне все это нужно описать в InsertSQL,
> Select SQL(ну это-то понятно каак делать), ModifySQL
с обычными наследниками класса TDataSet(TTable, TQuery и т.п.) умеешь работать ?
наследники класса TDataSet (TIBTable, TIBQuery, TIBDataSet и пр.) по логике управления ничем не отличаются от вышеупомянутых, но перед использованием для работы с открываемым набором данных (НД) требуют так или иначе указания текстов соответствующих запросов:
- чтобы НД можно было просматривать перемещаясь по записям (TDataSet-методы Open, First, Next, Prior и т.п.), требуется указание текста SELECT-запроса;
- чтобы можно было вставить запись в НД (методы Insert, Append), требуется указание текста INSERT-запроса;
- чтобы тек.запись НД можно было удалять (метод Delete), требуется указание текста DELETE-запроса;
- чтобы можно было модифицировать тек.запись в НД (метод Edit), требуется указание текста UPDATE-запроса;
← →
negrila (2004-06-16 21:28) [3]Спасибо за советы. Но что и как нужно втсавлять я не раз читал в инете, я просто не представляю себе таких запросов( кроме Select), чтобы пользователю указывать вместо различных ID то, на что эти ID ссылаются. С Select все через JOIN ON AUTHORS.STATUS_ID=STATUSES.ID, но как дать пользователю возможность редактировать данные такого запроса? То есть из комбобокса выбирать города, а не ручками вставлять ID.
Нужно не с IBDataSet, а с IBQuery и IBUpdateSQL работать? А в инете примеры есть понятные?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.048 c