Форум: ".Net";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];




Вниз

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


oslep   (2005-08-14 10:42) [0]

Дорбый день! Вот текст примера из книги Пачеко о Дельфи 8:

program FillDataSet;

{$APPTYPE CONSOLE}

{%DelphiDotNetAssemblyCompiler "c:\windows\microsoft.net\framework\v1.1.4322\System.Data.dll"}

uses
 System.Data,
 System.Data.SqlClient;

const
 c_cnstr = "server=XWING;database=Northwind;Trusted_Connection=Yes";
 c_sel_emp = "select * from Employees; select * from Customers;";
var
 sqlDA: SqlDataAdapter;
 nwDS: DataSet;
begin
 sqlDA := SQLDataAdapter.Create(c_sel_emp, c_cnstr);
 nwDS  := DataSet.Create;

 sqlDA.Fill(nwDS);
end.


Прошу обратить внимание на строчку

 c_sel_emp = "select * from Employees; select * from Customers;"

По словам автора, такой оператор возвращает две таблицы на одном объекте DataAdapter. Результат должен позволить построить отношения мастер/деталь встроенными способами. Пример приведен для класса SQLDataAdapter и сервера SQL, которым мне не доводилось пользоваться.  Аналогичный прием для InterBase/FB не проходит.
В чем проблема? Необходимо ли применить отличный от приведенного в примере синтакс в c_sel_emp?

ЗЫ: Долго думал, в какую конференцию кидать))



k2 ©   (2005-08-15 11:16) [1]

наверное нельзя сказать "две таблицы на одном объекте DataAdapter", таблицы принадлежат DataSet"у. про интербэйс ничего не подскажу, но раз он не поддерживает возврат нескольких наборов данных, то построить датасет с двумя таблицами так:
...
 c_sel_emp = "select * from Employees";
 c_sel_cust ="select * from Customers";
...
var
 da: SqlDataAdapter;
 ds: DataSet;
begin
 da := SQLDataAdapter.Create(c_sel_emp, c_cnstr);
 ds := DataSet.Create;
 da.Fill(ds, "emp");
 da.SelectCommand.CommandText := c_sel_cust;
 da.Fill(ds , "cust");
 ..
end;



oslep   (2005-08-17 17:11) [2]


> k2 ©   (15.08.05 11:16) [1]

Разумеется




Форум: ".Net";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.023 c
15-1254978520     @!!ex                 2009-10-08 09:08  2009.12.06  
При покупки VDS просит ввести настройки сервера.....


2-1254478034      Pavel                 2009-10-02 14:07  2009.12.06  
Перемещение полос прокрутки в ScrollBox/


2-1255580012      uno-84                2009-10-15 08:13  2009.12.06  
Создание файла .DBF нужной версии


2-1256053889      Delphi2020            2009-10-20 19:51  2009.12.06  
технология ADO и RecordCount


15-1254981541     Хм...                 2009-10-08 09:59  2009.12.06  
Самопроизвольное движение курсора мыши