OleDbCommand 參數順序和優先權
在 OleDbCommand 中使用參數執行查詢時,了解參數的順序和優先權至關重要。儘管使用了命名參數,但當 CommandType 設定為 Text 時,OleDbCommand 不支援 SQL 語句或預存程序的命名參數。
因此,查詢中必須使用問號 (?) 佔位符。這些佔位符在查詢中出現的順序與 OleDbParameter 物件新增至 OleDbParameterCollection 的順序相對應。
考慮以下查詢:
要正確執行此查詢,參數必須添加到OleDbCommand 中,如下所示:
注意“@dtDebut”和“@dtFin”已分別替換為“?dtDebut”和“?dtFin”。問號佔位符必須與它們在查詢中出現的順序相符。
在提到的偵錯範例中,將參數新增至集合時會切換參數。這導致沒有傳回結果,因為 OleDbCommand 會依照參數新增的順序執行查詢,而不是查詢中指定的順序。
因此,必須注意順序和優先權使用問號佔位符時 OleDbCommand 中的參數。否則可能會導致意外結果或錯誤。
以上是參數順序如何影響 OleDbCommand 中的查詢結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!