0

我必须将字符串数组中的值与数据库中特定列的值进行比较。我该怎么做呢 ?

  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 表中的唯一列进行比较!

4

2 回答 2

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 注入攻击。

顺便说一句:您在问题中提到了“字符串数组”,但您的代码仅显示一个字符串作为参数。你那是什么意思?

于 2012-06-26T17:19:09.970 回答
0
sqlcommand("SELECT * FROM Admins WHERE column = " & user_ID );

那应该行得通。如果它与 user_ID 相同,它会返回列中的值。基本上,如果您的查询返回一个值,那么您就有一个匹配项,如果没有,那么您就没有。

于 2012-06-26T17:16:22.317 回答