c# - SQL表中行的增量值

标签 c# sql sql-server

我在该列中有一个表 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注入(inject)

关于c# - SQL表中行的增量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14680962/

相关文章:

C# 创建文件夹结构的最佳方式

c# - 如何从 C# 将结构作为 C dll 中的指针传递

mysql - 查询优化检查 MySQL 整个数据库中的列是否是最新的

.net - SQL Server 连接字符串关键字区分大小写,尽管它们不应该区分大小写

sql-server - 使用动态 T-SQL 插入 OPENROWSET 语法

c# - 如何显示异常消息 (Razor/C#)

c# - 如何在不循环的情况下使用“列表到字典”添加项目?

sql - 根据 Where 子句转换日期

c# - 将 "TOP 1"添加到 sql 语句是否会显着提高性能?

sql - 如何从具有外键的三个表中删除?