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