набор данных c # datatable - PullRequest
       17

набор данных c # datatable

1 голос
/ 28 марта 2011

Хранимая процедура возвращает несколько таблиц, набор результатов присваивается DataSet.Могу ли я получить доступ к таблицам в наборе данных с именем каждой таблицы?

Например, например :-

DataSet ds = Выбрать (despatch_Packing_ID);

Набор данных содержит 4 таблицы.

Я навязан для доступа к таблицам как DataTable dtSales = ds.Tables [0];

Как я могу получить доступ к DataTable как DataTable dtSales = ds.Tables ["Sales"];// Продажи - это таблицы, откуда я получаю данные

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 28 марта 2011

По умолчанию имена таблиц, генерируемых DbDataAdapter, будут иметь имена «Таблица», «Таблица1», «Таблица2», ...

Вы можете переопределить это, указав DataTableMappings .

Например:

DbDataAdapter adapter = ...
...
adapter.TableMappings.Add("Table", "Sales");
adapter.TableMappings.Add("Table1", "Customers");
...
adapter.Fill(myDataSet);
...
0 голосов
/ 28 марта 2011

Полагаю, это не работает, потому что возвращаемые данные могут быть получены из нескольких объединенных таблиц.В таком случае невозможно идентифицировать их по имени.Но я не проверил себя, так что это только мое предположение.

0 голосов
/ 28 марта 2011

Проблема в том, что запрос в хранимой процедуре может охватывать несколько таблиц и представлений или даже просто возвращать одно значение.

Как тогда DataTable получит свое имя?

...