Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-1087546807
DSKalugin
2004-06-18 12:20
2004.07.11
В чем ошибка?


1-1088344486
dido
2004-06-27 17:54
2004.07.11
Как в Label писать более одной строки?


3-1087203129
peypivo
2004-06-14 12:52
2004.07.11
firebird


1-1088243399
DillerXX
2004-06-26 13:49
2004.07.11
Что-то у меня не работает BinToHex


1-1088150523
Salik
2004-06-25 12:02
2004.07.11
Chart, синтаксис и т.д





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский