3 回答

TA貢獻1906條經(jīng)驗 獲得超3個贊
你這樣做是錯的。你需要從讀者那里閱讀。這是你應(yīng)該做的:
try
{
if (i == 2)
{
Application.Exit();
}
conn.Open();
string query = "select password from users where username = @usr and password = @pas";
MySqlCommand cmd = new MySqlCommand(query, conn);
cmd.Parameters.AddWithValue("@usr", username);
cmd.Parameters.AddWithValue("@pas", password);
MySqlDataReader myreader = cmd.ExecuteReader();
var password = string.Empty;
while(myreader.Read())
{
password = myreader["password"];
}
if (password.Equals(password.Text))
{
frmMain mainF = new frmMain();
mainF.Show();
}
else
{
MessageBox.Show("Username or password is incorrect!");
i++;
}
}

TA貢獻1757條經(jīng)驗 獲得超8個贊
查看代碼,您似乎將文本框作為密碼參數(shù)傳遞:
cmd.Parameters.AddWithValue("@pas", password);
然后你做這個檢查:
if (rez == password.Text)
這表明這password
是一個文本框。
所以正確的代碼應(yīng)該是:
cmd.Parameters.AddWithValue("@pas", password.Text);
我還將假設(shè)這username
是一個文本框,因此當(dāng)您創(chuàng)建用戶名參數(shù)時,您應(yīng)該使用:
cmd.Parameters.AddWithValue("@usr", username.Text);

TA貢獻1818條經(jīng)驗 獲得超11個贊
如果文本框 id 是“用戶名”和“密碼”,那么您需要傳遞該文本框的值,如下所示:
“用戶名.文本”和“密碼.文本”
然后你就可以登錄了。
- 3 回答
- 0 關(guān)注
- 197 瀏覽
添加回答
舉報