从变量中的sql语句存储值

时间:2016-11-30 03:24:34

标签: c# sql ado.net

我的用户使用用户名和密码登录,如果他存在,我会检查数据库。
我希望在连接之后,从连接的用户获取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

    }

2 个答案:

答案 0 :(得分:1)

检查一下:

var ID = (int)cmd.ExecuteScalar();

这应该有帮助!

答案 1 :(得分:0)

将登录中的return 0更改为

return dt.Row[0]["ID"];

然后在button1_Click

userId = Login(...)