我刚刚以编程方式创建了一个表。我将其命名为我的文本框值。
例子:
Create table " & Textbox1.text & " + ......
我想根据我的文本框值设置我的表名。
Select TaskNumber,Name,Age From '" & Textbox1.text & "' "
最好的做法是将您的文本框值放在一个变量中:
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()
尝试这个:
Dim query AS String = "Select TaskNumber,Name,Age From " & Textbox1.Text.Trim().Replace("'","")
.Replace("'","")将防止由于 TextBox 文本中存在单引号而导致的 SQL 注入攻击。
我会建议您在 TextBox 上使用RegularExpressionValidator来限制允许的字符。