循环文本框c#
本文关键字:文本 循环 | 更新日期: 2023-09-27 18:21:32
我有5个文本框,我想对它们进行循环,获取每个文本框值,并将其插入到单独一行的表中。我该怎么做?我试过这样的东西:
TextBox[] rasp = new TextBox[] { textbox1, textBox2, textBox3,
textBox4, textBox5 };
foreach (TextBox raspuns in rasp) {
SqlConnection con = new SqlConnection(
ConfigurationManager.ConnectionStrings["chestionar"].ConnectionString);
SqlCommand cmd = new SqlCommand(
"INSERT INTO Raspunsuri Values('" + raspuns +"',@cnp,@data,'5')", con);
cmd.Parameters.AddWithValue("@cnp", Session["sesiune_cnp"]);
//cmd.Parameters.AddWithValue("@raspuns", raspuns);
cmd.Parameters.AddWithValue("@data", DateTime.Now.ToLocalTime());
}
您的意思可能是:
SqlCommand cmd = new SqlCommand("INSERT INTO Raspunsuri Values('" + raspuns.Text +"',@cnp,@data,'5')", con);
而不是:
SqlCommand cmd = new SqlCommand("INSERT INTO Raspunsuri Values('" + raspuns +"',@cnp,@data,'5')", con);
由于string
和TextBox
是一个对象,其中一个字段为Text
,其中包含输入的文本,因此无法将它们连接起来。
注意:小心SQL注入攻击,不要这样做,而是使用cmd.Parameters.AddWithValue("@raspuns", raspuns.Text);
的注释掉的解决方案。再次,确保放置raspuns.Text
。
假设问题是这一行的错误:
//cmd.Parameters.AddWithValue("@raspuns", raspuns);
更改为:
cmd.Parameters.AddWithValue("@raspuns", raspuns.Text);