此刻我正在尝试登录。我看了一些视频,发现了一个好方法。每个用户都有一个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,Hashed_Password);
MySqlDataReader datareader = sqlCmd.ExecuteReader();
if (datareader.HasRows)
{
MessageBox.Show("Test: " + datareader.GetString("id"));
}
else
{
//Login incorrect
}
}
catch
{
//Exception
}
finally
{
sqlCon.Close();
}
我希望有人能帮助我。预先谢谢你。