![](/img/trans.png)
[英]C# CommandBuilder alternative or way to use CommandBuilder without a connection?
[英]Cannot Add a Row Using SQL and CommandBuilder C#
我正是在這樣做(請參閱使用SqlDataAdapter插入行 ),但是它沒有給我.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 =新的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集合中
dataSet.Tables["CT_DETIMP"].Rows.Add(impRow);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.