I have a problem with calling by SQL Server database. I have this table
and an object with property Groups
, which is something like "all nj sk2".
My query in ssms is
SELECT *
FROM Hours
WHERE class_id = 1
AND groups IN ('all', 'nj', 'sk2')
In C# I'm doing something like this
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(" ", ", "));
}
The only way I made this work was
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);
}
But this is not a good solution imo, so if anyone knows what am I doing wrong please help me out. Thanks