繁体   English   中英

C#SQL Server转换失败,错误将nvarchar值转换为int?

[英]C# sql server conversion failed error nvarchar value to int?

如何在我的代码中解决此问题:

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_IDnvarchar

查询结果应为2。

这可以帮我

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

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

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM