将 sql 语句中的值存储在变量中

store value from sql statement in variable

我的用户使用用户名和密码登录,如果他存在,我会检查数据库。
我想在连接后从连接的用户那里获取 UserID 并将其放入一个变量中,稍后我将能够在我的程序中使用该变量。


我的 table 用户和我的两个函数。我没有添加所有代码,因为我认为没有必要。


+-----------------------------------------+
|    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

    }

检查这个:

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

这应该有所帮助!

将登录中的return 0更改为

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

然后在button1_Click

userId = Login(...)