Вниз
Скачать: CL | DM;

Множественный оператор SELECT для DataAdapter   Найти похожие ветки 

 
oslep   (2005-08-14 11:19) [0]

Друзья, прошу прощения за ре-директ, но не могли бы вы взглянуть:

http://delphimaster.net/view/13-1124001775/


 
sniknik ©   (2005-08-14 11:35) [1]

ну взглянул, легче стало? ;о))

если выполнить
select * from Employees; select * from Customers;
в MSSQL получиш 2 рекордсета (при условии что такие таблици есть...)

а если выполнить тоже самое в IB6.x ? скорее всего получиш ошибку и ни одного рекордсета... (при том же условии. таблици есть)

этот SQLDataAdapter скорее всего строит отношения по полученным рекордсетам, которых IB6 не возврашает, т.что менять надо его. на то что ближе к стандартам мелкософта, и тоже может выдавать список рекодсетов... (вернее там не список а указатель в первом на второй и т.д. пока не null).


 
oslep   (2005-08-14 13:33) [2]

Отношения вроде строятся уже в DataSet. Да, в общем непонятно, но работать не хочет. То есть не пойму пока как получить два нобора данных чтобы потом построить мастер-деталь в компоненте DataGrid. Ручками придется, однако. Ну ладно, спасибо


 
sniknik ©   (2005-08-14 15:57) [3]

> Отношения вроде строятся уже в DataSet.
но ты же используеш (в вопросе) готовый обьект SQLDataAdapter, который ожидает (судя по запросу) двойной рекордсет на вход (выполняет запрос и ждет). т.е. чтобы по NextRecordSet там был еще один. а выполняя такойже запрос в IB он не только не получает нужной структуры но и вообще ничего не получает... (попытка выполнения двойного запроса вернет ошибку а не нужную структуру)
кстати про ошибку. приведение возвращаемой ошибки многое бы прояснило/уточнило...

> чтобы потом построить мастер-деталь
а вот это совсем другое дело, при мастер-детайл используется 2 различных набора данных, с раздельными запросами, которые отработают на любом, практически, sql сервере. это ты сам можеш настраивать. это не встроенные средства обьекта. не надо сравнивать.

> Ручками придется, однако.
однако да.


 
oslep   (2005-08-14 16:50) [4]


> попытка выполнения двойного запроса вернет ошибку а не нужную
> структуру

Так и происходит


> при мастер-детайл используется 2 различных набора данных, с
> раздельными запросами


А вот именно такие запросы в примере и приведены - две таблицы, связанные по какому-то ID. И именно по NextRecordSet строятся две вложенные таблицы в DataSet [DataAdapter.Fill()]. Манипулируя объектом DataSet.Relations выстраивается структура, отображаемая затем в DataGrid

А.. ладно, разберемся



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.048 c
3-1123671772
andy2015
2005-08-10 15:02
2005.09.25
Кирилица и Interbase


1-1125586034
RzCoDer
2005-09-01 18:47
2005.09.25
NT сервисы


5-1100590527
Kerim
2004-11-16 10:35
2005.09.25
Работа с вложенными контролами в design-time


4-1122984668
MooSE
2005-08-02 16:11
2005.09.25
Чтение ресурсов из DLL


14-1125872684
KilkennyCat
2005-09-05 02:24
2005.09.25
5 сентября. С Днем Рождения!




   Наверх