簡體   English   中英

插入查詢以動態創建文本框

[英]Insert Query for Dynamically created textboxes

我已經動態生成了文本框,需要為此向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將直接傳遞給insert查詢,以便所有值將直接被接受。

但是邏輯不起作用。

請幫忙..

幾點

  1. 您的方法使您容易受到SQL注入攻擊的影響。 這是一件壞事。 您應該使用sqlCommand對象執行SQL,使用參數對象傳遞要插入的值,這將防止SQL注入攻擊。
  2. 在要插入的表中的每一列之后,為文本框命名。

希望這可以幫助

您需要在生成文本框時跟蹤它們。

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()

我尚未添加錯誤處理

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM