プログラムでテーブルを作成しました。テキストボックスの値として名前を付けました。
例:
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を使用して、許可される文字を制限することをお勧めします。