如何在 C# 中修改数据表

本文关键字:修改 数据表 | 更新日期: 2023-09-27 18:33:57

我有一个数据表,但是当我使用以下命令时,我无法修改行值。

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调用此方法后,我必须将数据存储到其中,然后在需要时显示和修改其数据

存储和显示方法工作正常

(我调用带有按钮的存储方法,并使用按钮上一个和下一个显示)

并修改方法,我有问题,在显示后是需要的。

我不知道如何更好地解释. 在上一个按钮控件显示上一个行值之后,我需要修改它们并通过下一个按钮单击将它们存储在数据表中

如何在 C# 中修改数据表

我注意到第一个示例中有一个拼写错误——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不包含可解析的字符串,但当然这在很大程度上取决于该值的来源。