Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: ".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]

Разумеется



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

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

Наверх





Память: 0.44 MB
Время: 0.005 c
2-1255524674
madmech@yandex.ru
2009-10-14 16:51
2009.12.06
Как убрать скроллбар у DBGrid


2-1256034430
Фуфик
2009-10-20 14:27
2009.12.06
Сменить путь в ADOConnection


6-1210255588
AtZako
2008-05-08 18:06
2009.12.06
Разорвать OnHeadersAvailable


2-1256048126
Anita
2009-10-20 18:15
2009.12.06
DLL


15-1254918035
Kerk
2009-10-07 16:20
2009.12.06
Регэксп





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский