0

我刚刚以编程方式创建了一个表。我将其命名为我的文本框值。

例子:

Create table " & Textbox1.text & " + ......

我想根据我的文本框值设置我的表名。

Select TaskNumber,Name,Age From '" & Textbox1.text & "' "
4

2 回答 2

0

最好的做法是将您的文本框值放在一个变量中:

    Dim myTableName As String
    myTableName = TexBox1.text

    // SQL Connection
    Dim conStr As String = "Server=MyServer;Database=Mydatabase;Trusted_Connection = yes"
    Dim objCon As New SqlConnection(conStr)
    Dim obj As SqlCommand
    Dim strSQL as String
    obj = objConn.CreateCommand()

    // *************** Select statement *********
    strSQL = "SELECT TaskNumber, Name, Age FROM " & myTableName

    // **************** Create statement *********
    strSQL = "CREATE TABLE " & myTableName & "(" & _
    "Id int NOT NULL PRIMARY KEY IDENTITY, " & _
    "ColumnTest VARCHAR(30)) "

    // Execute the command
    obj.CommandText = strSQL
    obj.ExecuteNonQuery()
于 2012-08-30T11:40:42.913 回答
0

尝试这个:

Dim query AS String = "Select TaskNumber,Name,Age From " & Textbox1.Text.Trim().Replace("'","")

.Replace("'","")将防止由于 TextBox 文本中存在单引号而导致的 SQL 注入攻击。

我会建议您在 TextBox 上使用RegularExpressionValidator来限制允许的字符。

于 2012-08-30T12:01:14.050 回答