我的用户使用用户名和密码登录,如果他存在,我会检查数据库。
我希望在连接之后,从连接的用户获取UserID并将其放入一个变量中,以后我可以在我的程序中使用它。
我的桌面用户和我的两个功能。我没有添加所有代码,因为我认为没有必要。
+-----------------------------------------+
| User |
+------------+------------+---------------+
| UserID | Username | password |
| 1 | abc | def |
| 2 | ghi | jkl |
+------------+------------+---------------+
public int Login(string Username, string Password)
{
try
{
clsDataSource.mycon = new OleDbConnection(@"Provider=...");
OleDbCommand cmd = new OleDbCommand("Select * from Users where email=@email and pwd=@pwd", clsDataSource.mycon);
cmd.Parameters.AddWithValue("@email",Username);
cmd.Parameters.AddWithValue("@pwd",Password);
clsDataSource.mycon.Open();
dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
clsDataSource.mycon.Close();
//code to login
return 0;
}
catch (Exception ex)
{
throw ex;
}
}
private void button1_Click(object sender, EventArgs e)
{
//code to check the login
}
答案 0 :(得分:1)
检查一下:
var ID = (int)cmd.ExecuteScalar();
这应该有帮助!
答案 1 :(得分:0)
将登录中的return 0
更改为
return dt.Row[0]["ID"];
然后在button1_Click
userId = Login(...)