有没有办法给这行代码添加一个SQL Where子句?添加Where子句OleDbCommand
对不起,应该把更多的细节放到这个问题上。这行代码连接到SQL数据库并将选择语句导出到csv文件。如果我像通常在SQL查询中那样放置where子句,它会给我提供错误,在查询表达式中,在运算符without()中'ID ='1'IN''{ODBC:Driver = {SQL Server Native Client 10.0 }。
dpConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & ExportDir & ";" & _
"Extended Properties=""Text;HDR=YES;"""
Dim dpTextConnection As New System.Data.OleDb.OleDbConnection(dpConnectionString)
dpTextConnection.Open()
Try
Dim dpTextCommand As New System.Data.OleDb.OleDbCommand("SELECT * INTO ["test.txt"] FROM [csv_SavedCalData] WHERE ID = '1' IN '' [ODBC;Driver={SQL Server Native Client 10.0};Server=" & sqlServer & ";Database=" & sqlDatabase & ";UID=" & sqlUN & ";PWD=" & sqlPWD & ";Trusted_Connection=yes;]", dpTextConnection)
dpTextCommand.CommandType = CommandType.Text
dpTextCommand.ExecuteNonQuery()
dpTextCommand.Dispose()
dpTextConnection.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
这是一团糟。使用SQL参数,第二个参数应该是OleDbConnection,而不是连接字符串。 – Plutonix
嗯......我想知道如果我将'My.Settings.txtServer'设置为'A; DROP TABLE csv_SavedCalData;'... _-我甚至不知道如果这是适当的SQL:] _会发生什么,但它可以被任何一种方式利用。所以,参数。 –
我编辑了我原来的帖子。 – Steve