无法使用 SQL 和 CommandBuilder C# 添加行

Cannot Add a Row Using SQL and CommandBuilder C#

我正在这样做(参见 Using SqlDataAdapter to insert a row)但它没有给我 .ADD 方法

这是我的代码:

var sqlQuery = "select * from CT_DETIMP where 0 = 1";
SqlDataAdapter tableAdapter = new SqlDataAdapter(sqlQuery, myConnection);
DataSet dataSet = new DataSet();
tableAdapter.Fill(dataSet);

var impRow = dataSet.Tables["CT_DETIMP"].NewRow();
impRow["TRANSCD"] = tranCode;
impRow["MISC"] = misc;
impRow["ADDENDA"] = addenda;

dataSet.Tables["CT_DETIMP"].Add(impRow);  // THIS IS WHERE THE ERROR IS 

new SqlCommandBuilder(tableAdapter);
tableAdapter.Update(dataSet);

我收到错误数据表不包含 ADD 的引用。我很乐意以其他方式执行此操作,但我不能使用 table.Adapter.Insert,因为我需要我的数据进入特定字段。


所以我改了dataSet.Tables["CT_DETIMP"].Add(impRow);至 dataSet.Tables["CT_DETIMP"].Rows.Add(impRow);现在我在这一行收到一个空错误:var impRow = dataSet.Tables["CT_DETIMP"].NewRow();


此代码有效:

' SqlConnection myConnection = new SqlConnection(connectionString); myConnection.Open();

        var sqlQuery = "select * from CT_detimp where 0 = 1";
        SqlDataAdapter tableAdapter = new SqlDataAdapter(sqlQuery, myConnection);

        SqlCommandBuilder cb = new SqlCommandBuilder(tableAdapter);

        DataSet dataSet = new DataSet("CT_DETIMP");
        tableAdapter.Fill(dataSet,"CT_DETIMP");

        DataTable detailTable = dataSet.Tables["CT_DETIMP"];
        DataRow impRow = detailTable.NewRow();'

将出错的行改成这样:

dataSet.Tables["CT_DETIMP"].Rows.Add(impRow);

您需要添加到 DataTable.Rows collection

dataSet.Tables["CT_DETIMP"].Rows.Add(impRow);