我正是这样做的(请参阅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);
我收到错误DataTable不包含ADD的引用。我很高兴以另一种方式做到这一点,但我不能使用table.Adapter.Insert,因为我需要我的数据进入特定领域。
所以我改变了dataSet.Tables [" CT_DETIMP"]。添加(impRow); to 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();'
答案 0 :(得分:1)
将带有错误的行更改为:
dataSet.Tables["CT_DETIMP"].Rows.Add(impRow);
答案 1 :(得分:1)
您需要添加到DataTable.Rows集合
dataSet.Tables["CT_DETIMP"].Rows.Add(impRow);