如何根据从另一个表单输入的文本更新数据库中的信息?
需要发生的事情(使用的表格以粗体显示:
- StudiesForm用户登录(在单独的文本框中输入用户名和密码)。
- StudiesForm上用户名文本框中的信息被保存并用作 select 语句中的参考,用于在下一个表单上显示详细信息。
- 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# 中。
谢谢