掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
カーソルクローズ (ID:14761)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
RANさん、ご回答有難うございます。 調査してみたところ、 q := TSQLQuery.Create(self); try q.SQLConnection := SQLConnection1; for i := 0 to 100 do begin q.Close; q.SQL.Clear; q.SQL.Add('select sysdate from dual'); q.Open; q.Close; end; finally q.Free; end; →TSQLQUeryをFreeするとカーソル自体は消えていませんが、 次のクエリー生成後のOPENでもカーソルは積み上げられないこと がわかりました。 for i := 0 to 99 do begin q := TSQLQuery.Create(self); q.SQLConnection := SQLConnection1; q.Close; q.SQL.Clear; q.SQL.Add('select sysdate from dual'); q.Open; q.Close; ol.Add(q); end; ol.free; →カーソルが100まで増えてフリーされてもカーソルは100のままですが、 再度この処理を通すと1回目のOpen時にカーソル数は1になります。 Free後のOpenで何らかのクリア処理が行われているのかどうかなどはまだ 調査段階です。 Openの処理内容によってはDBExpressの仕様(バグ?)とかの段階になってしまう と思いますので、これにてとりあえずの解決としたいと思います。 調査結果、対応方法がわかり次第今後に役立つかわかりませんが再度 書き込み致します。 RANさん、説明不備、乱文の質問にお答えいただき有難うございましたm(_ _)m
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.