c# - 不存在从对象类型 System.Int32[] 到已知托管提供程序 native 类型的映射

标签 c# asp.net ado.net

我在以下代码中遇到上述错误。这里的 listid 是一个 integers 的列表。

SqlConnection cn = new SqlConnection(str1);
SqlCommand cmd = new SqlCommand("select * from status where uid in {@values}", cn);
cn.Open();
cmd.Parameters.AddWithValue("@values",listid.ToArray())
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
//code here
}

最佳答案

您可以将查询更改为:

SqlCommand cmd = new SqlCommand (String.Format ("SELECT * FROM status WHERE uid IN ({0})", String.Join (",", listid)));

并删除 AddWithValue() 行。

关于c# - 不存在从对象类型 System.Int32[] 到已知托管提供程序 native 类型的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19074226/

相关文章:

c# - 如何检测文件是否在网络上?

asp.net - 如何在 Visual Studio 中添加 NUnit

c# - 插入前验证数据的最佳方法

mysql - 选择与其他记录无关的记录

.net - 如何以可移植的方式与数据库对话?

c# - Entity Framework : Count one collection and Include another?

c# - MongoDB 中的关系(使用 .Net)

c# - 如何创建一个Lockfree集合集合

c# - 删除代码隐藏的 asp.net 事件

c# - 从 asp.net 上的另一个文件夹引用 dotnetnuke.dll