C# 将数据类型varchar转换为数字时出错?

C# 将数据类型varchar转换为数字时出错?,c#,asp.net,sql,C#,Asp.net,Sql,我正在更新记录。但这会产生错误 将数据类型varchar转换为数字时出错 以下是查询: UPDATE tbl_Contract_QutationDetails SET DCont_Discount_Var=23 WHERE DCont_Qty_Code_Var='BLDG/CNQT/11-12/101' AND DCont_Contractor_Code_Var='CNTT1001' 请给我一个解决方案。我建议您首先根据传递的数据和它们检查列定义 假设它是由这段sql触发的,则错误是您正在处

我正在更新记录。但这会产生错误

将数据类型varchar转换为数字时出错

以下是查询:

UPDATE tbl_Contract_QutationDetails SET DCont_Discount_Var=23 
WHERE DCont_Qty_Code_Var='BLDG/CNQT/11-12/101' AND DCont_Contractor_Code_Var='CNTT1001'

请给我一个解决方案。

我建议您首先根据传递的数据和它们检查列定义

假设它是由这段sql触发的,则错误是您正在处理某个数字列,但您将数据作为字符串传递,而该字符串不表示数字。所以

DCont_Discount_Var=23 
你确定折扣是一个数字吗?答案似乎是肯定的

DCont\u数量\u代码\u Var='BLDG/CNQT/11-12/101'

您确定DCont\u数量\u代码\u变量是字符串吗

DCont_Contractor_Code_Var='CNTT1001'
您确定DCont\u Contractor定义为字符串吗


其中一列被定义为数字,我打赌我猜是DCont\u折扣\u Var=23应该是DCont\u折扣\u Var='23'

不太可能。如果该列是问题所在,则它将尝试将数值转换为varchar,该转换应始终成功,除非有长度问题,而错误消息说问题发生在尝试将varchar转换为数字时。我得到了解决方案,实际上它们有两列,分别名为DCont\u Qty\u Code\u Var和DCont\u Qty\u Code\u Series\u Var。我想引用DCont\u Qty\u Code\u Series\u Var,但由于错误,我使用了另一列…感谢大家的帮助me..您的字段DCont\u Qty\u Code\u Var中有Qty,似乎表示数量。该字段可能是数字吗?您正在尝试在查询中将varchar转换为数字。请检查其设计,然后相应地更新值。请发布您的表定义如果您希望他们预测您的表结构,没有人可以帮助您DCont\u数量\u代码\u Var或DCont\u承包商\u代码\u Var是数据库中的数字列,你试图把一个字符串解析成它。