正确的语法
string mystring = "'Category3','Category4','Category6'";
cmd.commanText = "Select CatId From tbl_T2H_Category Where Category IN (" + mystring + ")";
但请不要使用它。你可以像下面这样使用它(但也不推荐这样做)
cmd.commanText = "Select CatId From tbl_T2H_Category Where Category IN ('" + cat_1 + "','" + cat_2 + "','" + cat_3 + "')";
我会在下面使用这个,它很安全
string commandText = "Select CatId From tbl_T2H_Category Where Category IN (@cat_1,@cat_2 @cat_3)";
SqlCommand command = new SqlCommand(commandText, connection);
command.Parameters.Add("@cat1", SqlDbType.Varchar);
command.Parameters["@cat1"].Value = "category1";
command.Parameters.Add("@cat2", SqlDbType.Varchar);
command.Parameters["@cat2"].Value = "category2";
command.Parameters.Add("@cat3", SqlDbType.Varchar);
command.Parameters["@cat3"].Value = "category3";
最后一个非常安全,它可以防止sql注入