хранимая процедура, которая возвращает несколько результатов:
CREATE PROCEDURE [dbo].[GetMultipleTable]
AS
BEGIN
if exists (select something from somewhere where somecondition = 1)
begin
select * from firsttable
end
select * from secondtable
END
когда мы выполняем хранимую процедуру, используйте метод SqlDataAdapter
' Fill , чтобы заполнить DataSet
несколькими таблицами.
DataSet ds;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
Я могу получить результаты.но я думаю, что мы можем добиться большего, чем это:
var index = 0;
if( ds.Tables.Count > 1 ){
DataTable first = ds.Tables[index];
index++;
// do something
}
DataTable second = ds.Tables[index];
// do something
Мне интересно, можем ли мы получить таблицу по имени вместо индекса.как ..
DataTable first = ds.Tables["first"];
// do something
if(ds.Tables.Containts("second"))
{
DataTable second = ds.Tables["second"];
// do something
}
вопрос: можно ли задать имя таблицы результатов в хранимой процедуре?