将字符串转换为SQLCommand

时间:2014-01-08 20:27:37

标签: .net vb.net sqlcommand

我正在创建一个具有文本框的应用程序,用户可以在其中输入要针对SQL Server实例运行的命令。我导入了System.Data.SqlClient对象,这是我到目前为止的代码:

 Dim preSQLcmd As String = Me.txtPreSQL.Text
 Databasefn.preTestSQL(preSQLcmd)

Databasefn.preTestSQL看起来像这样:

Sub preTestSQL(cmd As SqlCommand)
    con = New SqlConnection("Data Source=" & utilnamespace.sqlSvr & ";Database=" & utilnamespace.testDbName & ";integrated security=SSPI;")
    cmd.Connection.Open()
    cmd.ExecuteNonQuery()
    cmd.Connection.Close()
End Sub

我在这里缺少什么?

1 个答案:

答案 0 :(得分:3)

更改您的preTestSql以使用sql命令文本接收字符串,然后在过程中构建 SqlCommand

Sub preTestSQL(cmdText As String)
    using con = New SqlConnection("Data Source=" & utilnamespace.sqlSvr & ";Database=" & utilnamespace.testDbName & ";integrated security=SSPI;")
    using cmd = new SqlCommand(cmdText, con)
         con.Connection.Open()
         cmd.ExecuteNonQuery()
    End Using
    End Using
End Sub

说我应该问。 您确定这是明智的吗?

恶意用户可以使用类似的功能轻松破坏整个数据库。

示例:

 UPDATE PayRoll SET WeekWage = 1000  -- (no where condition??)
 DELETE FROM Employee