簡體   English   中英

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

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM