Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.10;
Скачать: CL | DM;

Вниз

Затруднение при подчинении 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.053 c
15-1156085949
vajo
2006-08-20 18:59
2006.09.10
Автовключение компьютера.


15-1155885736
DVM
2006-08-18 11:22
2006.09.10
Возможные глюки при 100% загрузке процессора


3-1151917108
Bless
2006-07-03 12:58
2006.09.10
Как отловить момент, когда в DBGrid-е перешли на другую запись?


2-1156277463
DillerXX
2006-08-23 00:11
2006.09.10
CreateThread && Strings


2-1156254920
GeLLeR
2006-08-22 17:55
2006.09.10
Вопросик по ShellApi