Главная страница
    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.45 MB
Время: 0.004 c
15-1254746040
XXL
2009-10-05 16:34
2009.12.06
Что случилось с оборудованием от AMD ?


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


15-1255027446
Piter
2009-10-08 22:44
2009.12.06
Word не может открыть файл более 32 MB?


15-1255001989
картман
2009-10-08 15:39
2009.12.06
"Служба XXX неожиданно прервана" Service Control Manager код 7034


15-1254917031
VladOfMonster
2009-10-07 16:03
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский