ホームページ > バックエンド開発 > C++ > 疑問符プレースホルダーを使用する OleDbCommand クエリではパラメーターの順序は重要ですか?

疑問符プレースホルダーを使用する OleDbCommand クエリではパラメーターの順序は重要ですか?

Barbara Streisand
リリース: 2024-12-27 07:53:08
オリジナル
310 人が閲覧しました

Does Parameter Order Matter in OleDbCommand Queries Using Question Mark Placeholders?

OleDbCommand パラメーターの順序と優先順位

クエリを 40 分間デバッグしようとした結果、パラメーターの順序が重要な役割を果たすことが判明しました。問題のクエリは次のとおりです:

SELECT * FROM tblSomething WHERE id = @id AND debut = @dtDebut AND fin = @dtFin
ログイン後にコピー

ただし、パラメータが次の順序で追加された場合:

cmd.Parameters.Add("@id", OleDbType.Integer).Value = idSociete;
cmd.Parameters.Add("@dtFin", OleDbType.Date).Value = dateTraitementFin;
cmd.Parameters.Add("@dtDebut", OleDbType.Date).Value = dateTraitementDebut;
ログイン後にコピー

結果は返されませんでした。 @dtDebut と @dtFin の順序を逆にすることで問題が解決されました。

当初は、このような順序の依存関係を回避するために名前付きパラメーターが導入されると想定されていました。ただし、MSDN によると:

OLE DB .NET プロバイダーは、CommandType が Text に設定されている場合に、OleDbCommand によって呼び出される SQL ステートメントまたはストアド プロシージャにパラメーターを渡すための名前付きパラメーターをサポートしていません。この場合、疑問符 (?) プレースホルダーを使用する必要があります。

したがって、疑問符プレースホルダーを使用してパラメーターを指定して OleDbCommand を使用する場合は、パラメーターの正しい順序を維持することが重要です。

以上が疑問符プレースホルダーを使用する OleDbCommand クエリではパラメーターの順序は重要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート