有沒有任何方法可以訪問發送到SQL服務器的預準備語句?插入參數後檢索SqlCommand/OleDbCommand查詢?
Dim params(1) As OleDb.OleDbParameter
params(0) = New OleDb.OleDbParameter("@ID", OleDb.OleDbType.VarChar, 50)
params(0).Value = guiItemsGridView.Rows(e.RowIndex).Cells("ID").Value
params(1) = New OleDb.OleDbParameter("@SavedValue", OleDb.OleDbType.VarChar, 50)
params(1).Value = guiItemsGridView.Rows(e.RowIndex).Cells("Saved Value").Value
Dim QueryString As String = "UPDATE Items SET [Saved Value][email protected] WHERE [email protected]"
myDatabase.objAdapter.UpdateCommand = New OleDb.OleDbCommand(QueryString, DatabaseConnection)
myDatabase.objAdapter.UpdateCommand.Parameters.AddRange(params)
myDatabase.objAdapter.UpdateCommand.Prepare()
Debug.Print(myDatabase.objAdapter.UpdateCommand.CommandText)
我在查找添加參數後訪問準備好的查詢的方法。準備完命令後,即使參數已通過,CommandText仍包含基本查詢UPDATE Items SET [Saved Value][email protected] WHERE [email protected]
。
我會發現寫這個代碼塊用於調試此應用程序的其他區域所執行的查詢日誌很有用。