Форум: "Базы";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
ВнизЗатруднение при подчинении 2-х таблиц (DBExpress) Найти похожие ветки
← →
drashka © (2006-07-07 15:23) [0]Такая ситуация, есть 2 таблицы:
одна FIRMS , содержит список фирм со всеми реквизитами. Индекс по названию фирмы(Nazv_Firm).
Есть вторая, SOTR, содержащая список сотрудников. Содержит так же название фирмы(FIRM_id).
Задача проста, при выборе из таблицы 1 необходимой фирмы, во второй появляется список сотрудников.
Так вот, реализуется все с помощью тенологии DBExpress.
Подключение осуществляется компонентом SQLConnection.
Управление таблицей Firms с помощью SimpleDataSet1. Второй таблицей SimpleDataSet2.
DataSource1 ссылается на SimpleDataSet1, для последующего отображения данных в форме.
DataSource2, в свою очередь, на SimpleDataSet2.
В свойствах MasterSource, компонента SimpleDataSet2, ссылка на DataSource1.
Затем пишу в SimpleDataSet1.CommandText
следующее
"select *
from FIRMS , Sotr
order by nazv_firm"
В свойствах SimpleDataSet2.CommandText тоже самое.
Подчиняю таблицы поставив SimpleDataSet2.MasterFields=Firm_Id ->Nazv_Firm
При редактировании данные кое-как отображаются, но проект не запускается" Token unknown- line 2, char 14 where " "
Подскажите, пожалуста, в чем ошибка. И вообще "where" я нигде не писал :)
← →
Desdechado © (2006-07-07 15:34) [1]> И вообще "where" я нигде не писал
И зря, ибо мастер-детальная связка только через это и делается (хоть вручную, хоть автоматически).
Букварь почитай, это почти везде описывается. Может, на других компонентах, но идеи везде одинаковые.
> select * from FIRMS , Sotr order by nazv_firm
Это вообще глупость, ибо получишь декартово произведение, т.е. к каждой строке из первой таблицы будет добавлена в выборке каждая строка второй таблицы. Итого: число записей в выборке будет M*N
← →
sniknik © (2006-07-07 15:37) [2]> Затем пишу в SimpleDataSet1.CommandText
> следующее ...
у SimpleDataSet разве есть CommandText?
← →
drashka © (2006-07-07 15:46) [3]
> Букварь почитай, это почти везде описывается. Может, на
> других компонентах, но идеи везде одинаковые.
Есть книжка, часто читаю, сейчас она открыта на нужной странице. Но все таки не получилось. Там много примеров, не выходит. Пробовал в различных комбинациях. Поэтому и прошу помочь.
Полагаю, надо писать в запросе что-то вроде "where FirmId=Nazv_firm", но в каком из SimpleDataSet, не пойму.
Если не затруднит напишите полный запрос для обоих SimpleDataSet.
← →
drashka © (2006-07-07 15:48) [4]
> у SimpleDataSet разве есть CommandText?
Прошу прощения, опечатка.
на самом деле ----> SimpleDataSet1.DataSet.CommandText
← →
drashka © (2006-07-07 16:03) [5]И еще, в любой комбинации запросов, с "where" или без, формируется сообщение " Token unknown- line 2, char 14 where " "... что такое, никак не пойму....
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c