簡體   English   中英

如何在C#中修改數據表

[英]How to modify datatable in C#

我有一個數據表,但是使用下面的命令時無法修改行值。

Int64 quantity = Convert.ToInt64(txtQuantity.Text);
blOfferList_temp.Rows[RowNo - 1]["Quantity"] = quantity;

我用的時候才有可能

tblOfferList_temp.Rows[RowNo - 1]["Quantity"] = 100;

而且我真的很需要拳頭。 有什么辦法可以使用變量來修改數據表?

我想進一步說明我的問題

首先,我有一個像這樣定義的數據表

private DataTable tblOfferList_temp;

然后在方法中,我創建像這樣的數據表

tblOfferList_temp = new DataTable();
tblOfferList_temp.Columns.Add("OfferID", typeof(string));
tblOfferList_temp.Columns.Add("RowNo", typeof(Int16));
tblOfferList_temp.Columns.Add("SMCode", typeof(string));
tblOfferList_temp.Columns.Add("SSCode", typeof(string));
tblOfferList_temp.Columns.Add("Quantity", typeof(Int64));
tblOfferList_temp.Columns.Add("TotalArea", typeof(Int64));
tblOfferList_temp.Columns.Add("TotalValue", typeof(Int64));

在form_load中調用此方法后,我必須將數據存儲到其中,然后在需要時顯示和修改其數據

store和show方法工作正常

(我用下一個按鈕調用存儲方法,並用上一個按鈕和下一個按鈕顯示)

並在顯示后需要我有問題的修改方法。

我不知道該怎么解釋。 在上一個按鈕控件顯示上一個行值之后,我需要修改它們並將其存儲在數據表中,然后單擊下一步

在第一個示例中,我注意到了一個錯字blOfferList_temp而不是tblOfferList_temp

除此之外,這兩個代碼段之間唯一的區別是,在第一個中,您分配的是Int64類型的值,在第二個中,您分配的是Int32 (未指定數字的默認值)。 如果僅使用100可以了,請嘗試強制轉換為Int32

Int32 quantity = Convert.ToInt32(txtQuantity.Text);
blOfferList_temp.Rows[RowNo - 1]["Quantity"] = quantity;

如果txtQuantity.Text包含的值不適合Int32 ,則必須更改數據表以接受Int64 ,這是txtQuantity.Text了。

(我還建議您進行一些錯誤處理,以防txtQuantity.Text不包含可分析的字符串,但是當然,這很大程度上取決於該值的來源。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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