我有一个存储过程,返回5或6个结果:
SELECT 1 .....
SELECT 2 .....
SELECT 3 .....
SELECT 4 .....
SELECT 5 .....
现在在C#代码中,我在这个结果中提供DataSet。
static DataSet GetData()
{
DataSet ds_Data = new ds_Data();
IDBManager dbManager = ConnectDB();
try
{
dbManager.Open();
ds_Data = dbManager.ExecuteDataSet(CommandType.StoredProcedure,"sp_GetData");
}
catch (Exception ex)
{
}
finally
{
dbManager.Close();
dbManager.Dispose();
}
return ds_Data;
}
现在我需要为DataSet中的每个DataTable命名。我怎么能在例如。 SELECT 2不返回任何行(当其他SELECT语句不返回任何行时可能会发生这种情况)?我需要SELECT 1将转到Table1Name,SELECT 2转换为Table2Name等。
答案 0 :(得分:0)
据我所知,从存储过程中,你不能这样做。
但是,一旦检索到DataSet,就可以设置名称,然后从那时开始使用它们。 ds.Tables [0] .TableName =“NameofTable1”;
答案 1 :(得分:0)
我在代码中发现了问题。即使没有行,DataSet也会正确返回。问题出在LINQ to DataTable上。我错误地分配了表名。我决定在从数据库下载数据后命名表。现在一切都有效。