3

Delphi 内で ZeosLib を使用して、TZQuery オブジェクトを介して MySQL ストアド プロシージャを呼び出しています。MySQL がストアド プロシージャの実行を終了した直後に、次のコード ブロックを開始する必要があります。

SELECT 1;MySQL ストアド プロシージャの最後にステートメントを追加しました。結果が返されたことを確認する最善の方法は何ですか?

4

1 に答える 1

2

Zeos lib は、結果セットを返すストアド プロシージャとうまく機能しません。
返された結果セットをアクティブに無効にします。
これには回避策があり、ZEOS ソース コードを変更することで結果セットをアクティブ化できます。

ただし、それを行うと、のような多くのエラーが発生しますMySQL has gone away
予測不可能な時期に、最初にこのオプションを無効にしたのはおそらくそのためです。

最後に、私が行った回避策は、必要な結果セットを (一時) テーブルに配置し、ストアド プロシージャが終了した後にクエリを実行することです。これはエラーを解決し、私にとってはうまくいきます。

于 2011-09-04T13:53:11.547 に答える