1

如何根据从另一个表单输入的文本更新数据库中的信息?

需要发生的事情(使用的表格以粗体显示:

  1. StudiesForm用户登录(在单独的文本框中输入用户名和密码)。
  2. StudiesForm上用户名文本框中的信息被保存并用作 select 语句中的参考,用于在下一个表单上显示详细信息。
  3. UpdateMyDetailsForm用户看到他们的信息并且可以更新它。

这是一个尝试,但是它调用了数据库中的第一行数据,而不是唯一的个人。

private void UpdateMyDetailsForm_Load(object sender, EventArgs e)
    { // Select Statement to automatically Load data to the form
        //VariableHandler vh = new VariableHandler();
        StudiesForm sf = new StudiesForm();
    sc.Open();
    SqlDataReader myReader = null;
    SqlCommand myCommand = new SqlCommand("select * from StudentRecords where ID ='" + sf.txtBoxUsername + "'", sc);
    myReader = myCommand.ExecuteReader();

    while (myReader.Read())
    {
        comBoxFrm.Text = (myReader["Title"].ToString());
        txtBoxFName.Text = (myReader["First_Name"].ToString());
        txtBoxSName.Text = (myReader["Surname"].ToString());
        txtBoxHouseNum.Text = (myReader["House/Flat_Number"].ToString());
        txtBoxStreetName.Text = (myReader["Street_Name"].ToString());
        txtBoxTownCity.Text = (myReader["Town/City"].ToString());
        txtBoxCounty.Text = (myReader["County"].ToString());
        txtBoxPCode.Text = (myReader["Postal_Code"].ToString());
        txtBoxPhone.Text = (myReader["Telephone"].ToString());
        txtBoxEmail.Text = (myReader["Email"].ToString());

        sc.Close();

    }// end of select statement

}

第二次尝试我尝试将StudiesForm中的文本框值保存到单独的类中,然后在 SQL 命令中调用该变量。这样做会导致表单将所有详细信息显示为空白。

我认为问题在于,因为StudiesForm在用户登录后隐藏,所以对用户名文本框的引用消失了。

我试图用来String.Copy(textbox)做一个独特的参考,但也没有奏效。

有什么想法或建议吗?- 这也不是一个严肃的项目,所以不用担心 SQLi 攻击或冗余代码。

我想我要问的是如何在不同的表单上引用文本框值?在 C# 中。

谢谢

4

0 回答 0