c#:如何从数据库中获取数据并传递到另一个表单?

c#:如何从数据库中获取数据并传递到另一个表单?,c#,winforms,desktop-application,C#,Winforms,Desktop Application,我正在构建一个桌面应用程序,当一个用户登录到新系统时,他的Id将显示在文本框中。但在我的情况下,查询成功运行,但id没有出现在文本框中。有人能帮我找到它吗 用户登录的第一种形式(Form1.cs) 第二份表格(Entry.cs) 删除局部变量声明,因为employeeID是一个全局变量,并且已首先声明,因此当您使用string为其添加前缀时,将创建另一个在此范围之外无法访问的局部变量 while (myReader.Read()) { employeeID = myReader[

我正在构建一个桌面应用程序,当一个用户登录到新系统时,他的Id将显示在文本框中。但在我的情况下,查询成功运行,但id没有出现在文本框中。有人能帮我找到它吗

用户登录的第一种形式(Form1.cs)

第二份表格(Entry.cs)


删除局部变量声明,因为
employeeID
是一个全局变量,并且已首先声明,因此当您使用
string
为其添加前缀时,将创建另一个在此范围之外无法访问的局部变量

while (myReader.Read())
  {
      employeeID = myReader["EmployeeID"].ToString();
  }

删除局部变量声明,因为
employeeID
是一个全局变量,并且已首先声明,因此当您使用
string
为其添加前缀时,将创建另一个在此范围之外无法访问的局部变量

while (myReader.Read())
  {
      employeeID = myReader["EmployeeID"].ToString();
  }

你有一个局部变量。您可以这样更正和优化代码:

    private void loginButton_Click(object sender, EventArgs e)
    {
        //If use set quote into your textbox
        string name = nameTextBox.Text.Replace("'", "''");
        string pass = passwordTextBox.Text.Replace("'", "''");

        String query = string.Format("select * from Employees where Name = '{0}' and Password = '{1}'", name, pass);
        string employeeID = "";


        using (SqlConnection connection = new SqlConnection(@"Data Source=INCEPSYS-SE\TEST;Initial Catalog=Employee;Integrated Security=True"))
        {
            connection.Open();

            using (SqlDataAdapter sda = new SqlDataAdapter(query, connection))
            {
                DataTable dt = new DataTable();
                sda.Fill(dt);

                if (dt.Rows.Count > 0)
                {
                    employeeID = dt.Rows[0]["EmployeeID"].ToString();
                    this.Hide();
                    Entry ss = new Entry(employeeID);
                    ss.Show();
                }
                else
                {
                    MessageBox.Show("Please Check your Username & password");
                }

                dt.Dispose();

            }
        }



    }

你有一个局部变量。您可以这样更正和优化代码:

    private void loginButton_Click(object sender, EventArgs e)
    {
        //If use set quote into your textbox
        string name = nameTextBox.Text.Replace("'", "''");
        string pass = passwordTextBox.Text.Replace("'", "''");

        String query = string.Format("select * from Employees where Name = '{0}' and Password = '{1}'", name, pass);
        string employeeID = "";


        using (SqlConnection connection = new SqlConnection(@"Data Source=INCEPSYS-SE\TEST;Initial Catalog=Employee;Integrated Security=True"))
        {
            connection.Open();

            using (SqlDataAdapter sda = new SqlDataAdapter(query, connection))
            {
                DataTable dt = new DataTable();
                sda.Fill(dt);

                if (dt.Rows.Count > 0)
                {
                    employeeID = dt.Rows[0]["EmployeeID"].ToString();
                    this.Hide();
                    Entry ss = new Entry(employeeID);
                    ss.Show();
                }
                else
                {
                    MessageBox.Show("Please Check your Username & password");
                }

                dt.Dispose();

            }
        }



    }