2012-03-29 16 views
0
namespace Project 
{ 
    /// <summary> 
    /// Interaction logic for MainWindow.xaml 
    /// </summary> 
    public partial class MainWindow : Window 
    { 
     OleDbConnection MyCon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Project.accdb"); 

     public string user; 
     string password; 
     public MainWindow() 
     { 

      InitializeComponent(); 

     } 

     private void button2_Click(object sender, RoutedEventArgs e) 
     { 
      user = textBox1.Text; 
      char firstLetter = user[0]; 
      string password = textBox2.Text; 
      MyCon.Open(); 
      string command = "Select Name from Login where [email protected] AND password = @password"; 
      OleDbCommand cmd = new OleDbCommand(command, MyCon); 
      cmd.Parameters.AddWithValue(@user, textBox1.Text); 
      cmd.Parameters.AddWithValue(@password, textBox2.Text); 
      OleDbDataReader dr = cmd.ExecuteReader(); 
      int id = cmd.Parameters[0].Value; // This line genrating error 
      // MessageBox.Show(user); 
      if (firstLetter == 'E') 
      { 
       if (dr.Read() == true) 
       { 

        Window1 w1 = new Window1(); 
        w1.textBox3.Text = user; 
        w1.textBox4.Text = dr[0].ToString(); 
        w1.Show(); 
        this.Close(); 

        } 
        else 
        { 
         MessageBox.Show("NOt Login");  

        } 
       } 

IDを取得してIDとパスワードをユーザーログインに一致させる方法を教えてください。私のコードには問題があります。 IDを間違えても正しいパスワードを入力すれば、ユーザーはログインできます。 IDとパスワードの両方が間違っていれば、これは起こりません。ユーザーが..データベース認証を使用したログイン

答えて

0
cmd.Parameters.AddWithValue(@user, textBox1.Text); 

ログインすることはできません。この行は、あなたがそのヨールのSqlDataReaderのは、行している確認する必要があり

cmd.Parameters.AddWithValue(@userid, textBox1.Text); 
0

すべきですか?

if (dr.HasRow){ 
if (dr.Read())//Read Method Return a bool type 
{ 
    //Your Code 
} 
} 
関連する問題