c# sql server转换失败错误nvarchar值为int

本文关键字:nvarchar 值为 int 错误 失败 sql server 转换 | 更新日期: 2023-09-27 18:18:44

如何在我的代码中修复这个问题:

str = "SELECT " + columnName + " FROM [tableA] where Company_ID=" + HaksId.ToString() + "";
cmd.CommandText = str;
cmd.Connection = conn;
adpt.SelectCommand = cmd;
adpt.Fill(ds);

在上面的代码中,只需要提到的东西显然conn是连接字符串,我已经提到了所有的东西,他们都工作得很好,在这个代码中有一些其他的错误

其中columnname为字符串,Id为整数

错误是

将nvarchar值'[Select]'转换为数据类型int时,转换失败。

返回值为类型为decimal(18,0)的值

期待您的建议

感谢

columname="Avg"
HaksId=1

Company_ID = nvarchar

查询结果应为2.

<<p> 解决方案/strong>

这帮了我,

"SELECT " + columnName + " FROM [tableA] where Company_ID='" + HaksId+ "'"

c# sql server转换失败错误nvarchar值为int

参数应该可以解决这里的问题。我会改变这个;

str = "SELECT " + columnName + " FROM [tableA] where Company_ID=" + HaksId.ToString() + "";

,

str = "SELECT " + columnName + " FROM [tableA] where Company_ID = @CompanyID";

adpt.SelectCommand.Parameters.Add("@CompanyID", SqlDbType.Int).Value = Haks;
adpt.Fill(ds);