我必须将字符串数组中的值与数据库中特定列的值进行比较。我该怎么做呢 ?
public void setvisibility(string user_ID)
{
SqlDataReader reader = null;
SqlConnection connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["ctd_prrity_dbConnectionSting"].ConnectionString);
connection.Open();\
SqlCommand cmd = new SqlCommand("Select * from Admins );
我需要将user_ID的值与Admins表中唯一的列进行比较!
答案 0 :(得分:0)
sqlcommand("SELECT * FROM Admins WHERE column = " & user_ID );
那应该有用。它的作用是返回列中的值,如果它与user_ID相同。基本上,如果您的查询返回一个值匹配,如果没有,那么您没有。
答案 1 :(得分:0)
以下是您可以这样做的方法:
using( SqlConnection connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["ctd_prrity_dbConnectionSting"].ConnectionString))
{
connection.Open();
SqlCommand cmd = new SqlCommand("Select 1 from Admins where User_ID=@userid",connection );
cmd.Parameters.AddWithValue("@userid",user_ID);
SqlDataReader reader= cmd.ExecuteReader();
if(reader.HasRows)
{
//user id found
}
}
此方法使用参数化查询,这比Tony的答案中给出的选项更安全,因为他容易发生SQL Injection攻击。
BTW:你在问题中提到“字符串数组”,但你的代码只显示一个字符串作为参数。那是什么意思?