delphi7からストアドプロシージャを呼び出そうとしています。プロシージャには、デフォルト値のパラメータも含まれています。私が理解している限り、デフォルトを使用して、パラメーターの値を明示的に渡さずにこのプロシージャを呼び出すことができます。それが私のdelphoコードで行ったことです。
だが..
の結果は紛らわしいように見えました。スキップしたパラメーターは、何らかの値を取得しました。それが次のパラメータの値でした。そして、最後にその値を取得しなかった最後のパラメーターが表示されました。
この記事を検索して見つけました。したがって、delphiは、TADOStoredProcのパラメーターに付けた名前を無視し、パラメーターのコレクションに追加した順序、つまり最後のパラメーターに渡しただけであることがわかりました(これもオプションであり、例外はありませんでした)。スローされました)プロシージャに渡されませんでした。
@crefirdによる回答があり、TADOStoredProcの代わりにTADOQueryを使用することを提案しています。しかし、私はそのアプローチが好きではありません。すべてのパラメーターに特定の値を指定し、オプションのパラメーター機能をまったく使用しない方がよいでしょう。
それで、TADOStoredProcを使用するときに、delphiにストアドプロシージャへのパラメータを名前で指定させるためのより良い解決策はありますか?