C# 数据集包含一个名为;表";,不是我递进来的那张桌子吗?

C# 数据集包含一个名为;表";,不是我递进来的那张桌子吗?,c#,C#,我的代码如下: string SQL = "select * from " + TableName; using (DS = new DataSet()) using (SqlDataAdapter adapter = new SqlDataAdapter()) using (SqlConnection sqlconn = new SqlConnection(connectionStringBuilder.ToString())) using (SqlCommand objCommand =

我的代码如下:

string SQL = "select * from " + TableName;

using (DS = new DataSet())
using (SqlDataAdapter adapter = new SqlDataAdapter())
using (SqlConnection sqlconn = new SqlConnection(connectionStringBuilder.ToString()))
using (SqlCommand objCommand = new SqlCommand(SQL, sqlconn))
{
    sqlconn.Open();
    adapter.SelectCommand = objCommand;
    adapter.Fill(DS);
}

System.Windows.Forms.MessageBox.Show(DS.Tables[0].TableName);

return DS;
但是,每次我运行这段代码时,数据集(DS)都会被一个名为“table”的表填充。它不表示我作为参数TableName传入的表名,并且这个参数没有变化,因此我不知道名称表来自何处。我希望表与传入的tableName参数相同

你知道为什么不是这样吗

编辑:重要事实:此代码需要返回一个数据集,因为我在另一个方法中使用了dataRelation对象,该方法依赖于此,并且在不使用数据集的情况下,该方法会引发异常。该方法的代码为:

DataRelation PartToIntersection = new DataRelation("XYZ", 
        this.LoadDataToTable(tableName).Tables[tableName].Columns[0],
        // Treating the PartStat table as the parent - .N
        this.LoadDataToTable("PartProducts").Tables["PartProducts"].Columns[0]);
        // 1

        // PartsProducts (intersection) to ProductMaterial
        DataRelation ProductMaterialToIntersection = 
           new DataRelation("", ds.Tables["ProductMaterial"].Columns[0],
                                ds.Tables["PartsProducts"].Columns[1]);

谢谢

数据集中第一个表的默认名称是
,第二个表名为
表1
,第三个表名为
表2
,依此类推。数据集将而不是从底层存储读取表名,并且没有使其这样做的选项

这是记录的行为-请参阅:

如果DataAdapter遇到多个 结果集,它会创建多个 数据集中的表这些桌子是空的 给定的增量默认名称 TableN,以“Table”开头 表0。如果表名作为 Fill方法的一个参数 为表提供了一个增量 TableNameN的默认名称,起始 使用“TableName”作为TableName0

如果需要其他名称,则必须提供这些名称-使用以下语句:

adapter.Fill(DS, Tablename);

这将命名数据集中新填充的表
Tablename

数据集中第一个表的默认名称为
table
,第二个表名为
Table1
,第三个表名为
Table2
,依此类推。数据集将而不是从底层存储读取表名,并且没有使其这样做的选项

这是记录的行为-请参阅:

如果DataAdapter遇到多个 结果集,它会创建多个 数据集中的表这些桌子是空的 给定的增量默认名称 TableN,以“Table”开头 表0。如果表名作为 Fill方法的一个参数 为表提供了一个增量 TableNameN的默认名称,起始 使用“TableName”作为TableName0

如果需要其他名称,则必须提供这些名称-使用以下语句:

adapter.Fill(DS, Tablename);
这将命名数据集中新填充的表。

仅是与运行时结构关联的名称,与用于创建
数据表的数据源无关。
仅是与运行时结构关联的名称,与用于创建数据表的数据源无关
数据表