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インジェクション攻撃を受けやすいため、Tonyの回答で示されたオプションよりも安全です。

ところで:あなたはあなたの質問で「文字列配列」について言及していますが、あなたのコードはパラメータとして単一の文字列しか示していません。あなたはそれによって何を意味しました?

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

それはうまくいくはずです。これは、user_IDと同じ場合、列の値を返します。基本的に、クエリが一致する値を返す場合、一致しない場合は一致しません。

于 2012-06-26T17:16:22.317 に答える