I have the following code,

```
    OleDbCommand cmd = new OleDbCommand("SELECT * FROM Users WHERE username = ? AND password = ?",conn);

    OleDbParameter p1 = new OleDbParameter();
    OleDbParameter p2 = new OleDbParameter();
    cmd.Parameters.Add(p1);
    cmd.Parameters.Add(p2);
    p1.Value = usernametb.Text;
    p2.Value = passwordtb.Text;

    conn.Open();
    OleDbDataReader read = cmd.ExecuteReader();

        if (read.Read() == true)
        {
            conn.Close();
            MessageBox.Show("Successfully logged in!");
        }
        else
        {
            conn.Close();
            MessageBox.Show("Login failed");
        }

```

This code works for me if the user has a password, but if the user does not have a password, then it fails and I don't know why.

Where am I going wrong?