我正在尝试登录。我看了一些视频,找到了一个好方法。每个用户都有一个 ID、用户名和密码。我想获取刚刚登录的用户的 id 并将其保存为 Integer。我也试过了,ExecuteReader
但我得到了一个异常(MySql.Data.MySqlClient.MySqlException)。
我目前的代码是:
try
{
if (sqlCon.State == ConnectionState.Closed)
{
sqlCon.Open();
}
string query = "SELECT COUNT(1) FROM Users_Table WHERE Username=@Username AND Password=@Password;";
MySqlCommand sqlCmd = new MySqlCommand(query, sqlCon);
sqlCmd.Parameters.AddWithValue("@Username", maintxtbox1.Text);
sqlCmd.Parameters.AddWithValue("@Password", Hashed_Password);
int count = Convert.ToInt32(sqlCmd.ExecuteScalar());
if (count == 1)
{
//Login correct
}
else
{
//Login incorrect
}
}
catch
{
//Exception
}
finally
{
sqlCon.Close();
}
使用 ExecuteReader 的尝试:
try
{
if (sqlCon.State == ConnectionState.Closed)
{
sqlCon.Open();
}
string query = "SELECT id,Username,Password FROM Users_Table WHERE Username=@Username AND Password=@Password;";
MySqlCommand sqlCmd = new MySqlCommand(query, sqlCon);
sqlCmd.Parameters.AddWithValue("@Username", maintxtbox1.Text);
sqlCmd.Parameters.AddWithValue("@Password", Hashed_Password);
MySqlDataReader datareader = sqlCmd.ExecuteReader();
if (datareader.HasRows)
{
MessageBox.Show("Test: " + datareader.GetString("id"));
}
else
{
//Login incorrect
}
}
catch
{
//Exception
}
finally
{
sqlCon.Close();
}
我希望有人能帮助我。先感谢您。