C#数据集有多个结果

本文关键字:结果 数据集 | 更新日期: 2023-09-27 18:26:12

我有一个存储过程,它返回5或6个结果:

SELECT 1 .....
SELECT 2 .....
SELECT 3 .....
SELECT 4 .....
SELECT 5 .....

现在,在C#代码中,我将在这个结果中提供数据集。

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;
}

现在我需要为数据集中的每个DataTable命名。当例如SELECT 2不返回行(当其他SELECT语句不返回行时可能会发生这种情况)时,我该如何处理?我需要SELECT 1将转到Table1Name,SELECT 2将转到Table2Name等。

C#数据集有多个结果

据我所知,从存储的proc来看,您无法做到这一点。

但是,您可以在检索到数据集后设置名称,然后从那时起使用它们。ds.Tables[0].TableName="表1的名称";

我在代码中发现了问题。即使数据集没有行,它也会正确返回。问题出现在LINQ to DataTable中。我错误地分配了表名。我决定在从数据库下载数据后命名这些表。现在一切正常。