2016-12-18 1 views
0

ここに私のコードがあります。私は自分のデータを比較できません。私はC#で新しいです。ここで現在のテキストとデータベース内のデータストアを比較するとエラーが発生する

protected void Button8_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     SqlConnection con = new SqlConnection(); 
     con.ConnectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\registerdatabase.mdf;Integrated Security=True"; 
     con.Open(); 

     SqlCommand cmd = new SqlCommand(); 
     cmd.CommandText = "select * from [taccompare]"; 
     cmd.Connection = con; 

     SqlDataReader rd = cmd.ExecuteReader(); 
     while (rd.Read()) 
     { 
      if (rd[1].ToString() == TextBox1.Text) 
      { 
       flag = true; 
       break; 
      } 
     } 
     if (flag == true) 
      Label1.Text = "correct"; 
     else 
      Label1.Text = "wrong"; 

    } 
    catch (Exception ex) 
    { 
     Response.Write("Error:" + ex.ToString()); 
    } 

} 

は私のデータベーステーブルが私の目的のために

enter image description here

で、私は[currentotp]列のすべての値を取得するつもりだし、それを得るために失敗することで、データと比較しませんそのユーザーがTextbox1を入力します。

答えて

0

いくつかのヒント:データリーダー
例からデータを取得するとき

  1. あなたはインデックスとして列名を使用することができます。rd["currentotp"]。次に、右の列を必ず読んでください。
  2. データベースからデータを読み取る場合:NULL値を確認します。スクリーンショットの最初の行の "currentotp"がnullです(例:if (rd["currentotp"] != null && rd["currentotp"].ToString() == TextBox1.Text)
  3. selectステートメントに列名を記述すると、列をチェックして誤字を見つける方が簡単です。例:"select username, date, currentotp, time from [taccompare]"
+0

ありがとう!は働いている!おかげでsandhagen –

関連する問題