我只是想知道在使用SQLCommand對象調用存儲過程時是否有指定查詢提示的方法?用於指定查詢提示的SQLCommand對象
例如,我需要調用是這樣的
EXECUTE SPName'0068', 40 WITH RECOMPILE
我會想,我怎麼能模擬這種使用SqlCommand對象。
Dim connection As New SqlClient.SqlConnection("server=(local);database=DEV;Persist Security Info=True;uid=sa;pwd=;")
connection.Open()
Dim cmd As New SqlClient.SqlCommand
With cmd
.Connection = connection
.CommandText = "Warehouse_AdjustInventory_byWarehouse_u"
.CommandType = CommandType.StoredProcedure
.Parameters.AddWithValue("@ProductID", "0068")
.Parameters.AddWithValue("@WarehouseID", 40)
End With
Try
Dim result As Integer = cmd.ExecuteNonQuery()
Trace.WriteLine(result)
Catch ex As Exception
Trace.WriteLine(ex.Message)
End Try
connection.Close()
SQLCommand是否支持提供像RECOMPILE一樣的查詢提示? 謝謝
*爲什麼*你想使用'WITH RECOMPILE'?這會使你的存儲過程*變慢*。如果存儲過程使用諸如更改WHERE謂詞等低效技術,則最好修復查詢。如果你想讓存儲過程隨時重新編譯,只需將'WITH RECOMPILE'子句添加到它的定義 –