我在具有Metal_Master的该列中有一个表Opening_Weight,我正在通过获取先前的值并添加一些值来更新该列的值,然后再次更新该值。

我的代码是

ConnectionDB ReturnMWeight = new ConnectionDB("SELECT Opening_Weight FROM Metal_Master WHERE Metal_Name='GOLD';");
DataTable weighttd = ReturnMWeight.returntable();
GoldW = GoldW + Convert.ToDouble(weighttd.Rows[0][0].ToString());
ConnectionDB AddMWeight = new ConnectionDB("UPDATE Metal_Master SET Opening_Weight=" + GoldW + " WHERE Metal_Name='GOLD';");
AddMWeight.AddData();


但我想直接在单个查询中更新值,请帮助..

最佳答案

您可以直接执行UPDATE而无需运行select语句,

UPDATE Metal_Master
SET Opening_Weight = Opening_Weight + new_Value
WHERE Metal_Name='GOLD'


为了提高代码质量,


使用using语句正确处理对象
使用try-catch正确处理意外的异常。
参数化查询以防止sql injection

10-04 12:15