c# - 在已可用列中向数据库添加值时出现问题

标签 c# sql database winforms

我正在创建一个数据库查询,当我将数据添加到数据库时,它会用我插入的值更新所有行。代码:

string SQL = "Update Stock_Entry Set No_of_Items=No_of_Items+" (Convert.ToDecimal(textBox_Stock.Text));
                DBConnection database = new DBConnection();
                int rslt = database.updatetValues(SQL);
                if (rslt > 0)

我发现我有一个严重的问题,因为我从来没有提到要更新哪一行。所以我将我的编码编辑为

string SQL = "Update Stock_Entry Set No_of_Items=No_of_Items+" + (Convert.ToDecimal(textBox_Stock.Text)) +
                "Where Item_Code="+ textBox_ItemId.Text ;
                DBConnection database = new DBConnection();
                int rslt = database.updatetValues(SQL);
                if (rslt > 0)

此方法给我一个错误“无法将 varchar 值转换为 int”并提及我的项目代码具有 varchar 值。所以我在删除 varchar 项目代码后尝试了这种方式,当我在项目代码中没有任何 varchar 值时,此方法有效。但是我不能将我的项目代码列保留为 int,因为我必须在项目代码中提供一个字母字符。

最佳答案

我假设 Item_Code 是数据库中的一个 Varchar 字段?

您需要将代码修改为:

string SQL = "Update Stock_Entry Set No_of_Items=No_of_Items+" + (Convert.ToDecimal(textBox_Stock.Text)) +
            "Where Item_Code='"+ textBox_ItemId.Text + "'";

因为您想要在 where 子句中使用 varchar 值,所以您需要像这样将值放在撇号之间:

WHERE Item_Code = 'theitem'

关于c# - 在已可用列中向数据库添加值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21603323/

相关文章:

c# - 解析 [FromBody] JSON : model null

c# - 在 C# 中将证书链添加到 PKCS#7/CMS 容器

sql - 为什么我的 Count on joined tables 不正确?

sql - 将datetime2数据类型转换为datetime数据类型导致超出范围?

asp.net - 将 asp.net 缓存存储在 sql server 数据库中

c# - 使用正则表达式和下推自动机匹配嵌套括号组

C# LINQ 选择具有相同属性值的对象加入其他属性值

带有 SQL 语法的 PHP 简单文本数据库

sql - 有什么方法可以将随机数据填充到数据库中以进行测试?

java - 安卓 Realm : compactRealm not working as expected