繁体   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