【发布时间】:2011-08-06 13:59:00
【问题描述】:
我有这个关于 .NET 连接器的 MySqlParameter 的问题。
我有这个问题:
SELECT * FROM table WHERE id IN (@parameter)
而MySqlParameter是:
intArray = new List<int>(){1,2,3,4};
...connection.Command.Parameters.AddWithValue("parameter", intArray);
这可能吗? 是否可以将 int 数组传递给单个 MySqlParameter? 另一种解决方案是将int数组转换为诸如“1,2,3,4”之类的字符串,但是,当我将它传递给MySqlParameter并且这被识别为字符串时,它会像这样放入sql查询"1\,2\,3\,4" 这不会返回预期值。
@ UPDATE: mysql 连接器团队似乎应该更加努力。
【问题讨论】:
-
不仅仅是 MySQL。据我所知,这在 MSSQL 中也不支持,也不是 T-SQL 规范的一部分。
-
NHibernate 和其他 ORM 给人的印象是支持这一点,但在后台他们正在执行字符串连接(带或不带参数)
标签: c# .net mysql mysql-connector mysql-parameter