如何在我的代码中修复此问题:
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)
希望得到你的建议
谢谢
EDITED
columname="Avg"
HaksId=1
Company_ID
属于nvarchar
查询结果应为2。
解
这帮助了我,
"SELECT " + columnName + " FROM [tableA] where Company_ID='" + HaksId+ "'"
答案 0 :(得分:2)
参数应该在这里解决问题。 我会改变这个;
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);