Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

К SQL-Server через ADO


Alex112 ©   (2009-04-05 23:27:00) 

Пытаюсь работать с SQL-Server, используя ADO. В свойстве Command Text компонента ADODataset пишу:

select * from Table1 t1, Table2 t2
where t2.Table1_ID = t1.ID

Связываю ADODataset через DataSource c DBGrid. Поле ID в Table1 автоинкрементное. Задаю в сетке значения полей и делаю Post. Получаю исключение, говорящее о том, что поле t2.Table1_ID имеет значение null. Как это сделать по-человечески, без лишних телодвиженией?

Спасибо.


ЮЮ   (2009-04-06 12:08:00) [1]


> Расстрелять из пушки за такое.


Table2.Table1_ID - зато никакое шифрование не нужно с такими именованиями сущностей и атрибутов :)


Anatoly Podgoretsky   (2009-04-06 12:08:00) [2]


> Получаю исключение, говорящее о том, что поле t2.Table1_ID
> имеет значение null.

Не верю


Ega23   (2009-04-06 12:03:00) [3]

select * from Table1 t1, Table2 t2

Расстрелять из пушки за такое.


ЮЮ   (2009-04-06 12:02:00) [4]

>Поле ID в Table1 автоинкрементное.
А в Table2 Table1_ID ключевое поле?  Т.е. связь 1..0(1) ?  

Попробуй так

select *
from
 Table1 t1
 LEFT JOIN Table2 t2 ON t2.Table1_ID = t1.ID

>Как это сделать по-человечески, без лишних телодвиженией?

В TDbGrid "по-человечески" сложновато работать с двумя связанными таблицами.


И. Павел   (2009-04-06 08:18:00) [5]

select * from Table1 t1, Table2 t2
where isnull(t2.Table1_ID, 0) = t1.ID


Наверх

Титульная страница Поиск, карта сайта Написать письмо