我遇到了SQL Server数据库调用的问题。我有这个table
和一个属性为Groups
的对象,类似于"所有nj sk2"。
我在ssms中的查询是
SELECT *
FROM Hours
WHERE class_id = 1
AND groups IN ('all', 'nj', 'sk2')
在C#中,我正在做这样的事情
var query = "SELECT * FROM Hours WHERE class_id = @class_id AND groups LIKE (@groups)";
using (var cmd = new SqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@class_id", User.Current.ClassId);
cmd.Parameters.AddWithValue("@groups", User.Current.Groups.Replace(" ", ", "));
}
我完成这项工作的唯一方法是
var groups = "('" + User.Current.Groups.Replace(" ", "', '").Remove(User.Current.Groups.Length - 2);
//above is ('all', 'nj', 'sk2')
var query = "SELECT * FROM Hours WHERE class_id = @class_id AND groups LIKE " + groups;
using (var cmd = new SqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@class_id", User.Current.ClassId);
}
但这不是一个好的解决方案,所以如果有人知道我做错了什么,请帮助我。感谢