Delphi 内で ZeosLib を使用して、TZQuery オブジェクトを介して MySQL ストアド プロシージャを呼び出しています。MySQL がストアド プロシージャの実行を終了した直後に、次のコード ブロックを開始する必要があります。
SELECT 1;
MySQL ストアド プロシージャの最後にステートメントを追加しました。結果が返されたことを確認する最善の方法は何ですか?
Delphi 内で ZeosLib を使用して、TZQuery オブジェクトを介して MySQL ストアド プロシージャを呼び出しています。MySQL がストアド プロシージャの実行を終了した直後に、次のコード ブロックを開始する必要があります。
SELECT 1;
MySQL ストアド プロシージャの最後にステートメントを追加しました。結果が返されたことを確認する最善の方法は何ですか?
Zeos lib は、結果セットを返すストアド プロシージャとうまく機能しません。
返された結果セットをアクティブに無効にします。
これには回避策があり、ZEOS ソース コードを変更することで結果セットをアクティブ化できます。
ただし、それを行うと、のような多くのエラーが発生しますMySQL has gone away
。
予測不可能な時期に、最初にこのオプションを無効にしたのはおそらくそのためです。
最後に、私が行った回避策は、必要な結果セットを (一時) テーブルに配置し、ストアド プロシージャが終了した後にクエリを実行することです。これはエラーを解決し、私にとってはうまくいきます。