我有一个数据表,但是当我使用以下命令时,我无法修改行值。
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调用此方法后,我必须将数据存储到其中,然后在需要时显示和修改其数据
存储和显示方法工作正常
(我调用带有按钮的存储方法,并使用按钮上一个和下一个显示)
并修改方法,我有问题,在显示后是需要的。
我不知道如何更好地解释. 在上一个按钮控件显示上一个行值之后,我需要修改它们并通过下一个按钮单击将它们存储在数据表中
我注意到第一个示例中有一个拼写错误——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
不包含可解析的字符串,但当然这在很大程度上取决于该值的来源。