C#WInform,将下一个值传递给下一个表单,如何

时间:2015-10-23 02:52:54

标签: c# winforms login

如何将数据从数据库传递到下一个Winform,就像在php中称为session)

我想要显示,在第二个表单上显示NICKNAME的欢迎消息,而不是USER ID,请以最简单的方式向我显示,谢谢

以下是我的登录代码:

try //***************TRY START****************
{
    OleDbCommand cmd = new OleDbCommand("Select * from Account where User_ID='" + userID.Text + "' and Pass='" + Password.Text + "';", con);
    OleDbDataReader myReader;
    con.Open();
    myReader = cmd.ExecuteReader();
    int count = 0;
    while (myReader.Read())
    {
        count = count + 1;
    }

    if (count == 1)
    {
        string s = userID.Text;
        MessageBox.Show(s);
        this.Hide();
        AdminPanel us = new AdminPanel();
        us.Show();
    }
    else  
    {
        MessageBox.Show("Invalid ");
    }
    con.Close();
} // ******END TRY********
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
    con.Close();
}

1 个答案:

答案 0 :(得分:2)

您可以在Form2中创建构造函数以接受昵称

public Form2(string nickname)
{
  InitializeComponent(); 
  label1.Text=nickname;
}

在第一页中,阅读myReader的昵称并将其传递给Form2

con.Open();
OleDbDataReader myReader= cmd.ExecuteReader();
if(myReader.Read())
{
       string nickname= myReader["Nickname"].ToString(); // give correct column name as your database
       Form2 frm=new Form2(nickname); 
       frm.Show();
}else  
{
    MessageBox.Show("Invalid ");
}