我有动态生成的文本框,我需要在我的SQL server 2005
数据库中编写插入查询。
问题是,当我编写插入查询时,我不能包含文本框名称,因为文本框将在运行时生成。
我尝试使用以下逻辑:
请注意,我希望生成动态文本框,然后是动态SQL查询。
String str=//will contain a data fetched from all the textboxes generated dynamically and will be seprated using a ','(as in an insert statement).
此字符串str
将直接传递给插入查询,以便直接获取所有值。
但逻辑不起作用。
请帮助..
答案 0 :(得分:1)
几点
希望这有帮助
答案 1 :(得分:0)
您需要在生成文本框时跟踪它们。
List<TextBox> TextBoxes = new List<TextBox>();
...
TextBox DynamicBox1 = new TextBox();
...
TextBoxes.Add(DynamicBox1);
然后,如果你在某处有列的名称
string Columns = "@col0, @col1, @col2"; //etc
string Query = @"INSERT INTO [Table]
(" + Columns.Replace("@", "") + ")
VALUES (" + Columns+ ")";
使用参数化命令
SqlCommand Command = new SqlCommand(Query, Connection);
for (int i=0; i<TextBoxes.Count; i++)
{
Command.Parameters.AddWithValue("@col" + i, TextBoxes[i].Text);
}
Connection.Open()
Command.ExecuteNonQuery();
Connection.Close()
我没有添加错误处理