Главная страница
    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
8-1184697814
opoloXAI
2007-07-17 22:43
2009.12.06
MMSystem.pas => waveInGetNumDevs / waveInGetID


2-1256018021
Джон Сильвер
2009-10-20 09:53
2009.12.06
Назначение прав доступа NTFS для групп


15-1254688209
Юрий
2009-10-05 00:30
2009.12.06
С днем рождения ! 5 октября 2009 понедельник


15-1254894885
MBo
2009-10-07 09:54
2009.12.06
Срединедельная задачка


2-1256051065
vadk
2009-10-20 19:04
2009.12.06
ошибка после инсталяции 6-й!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский