お世話になります。
当方の環境は
DelphiXE5, Windows7 Pro, Oracle11g
です。
突然、今朝からデータベースのFilterの動作が意図している結果にならなくて
困っています。
先日までは 番号(NUMBER)を1でFilterしたら、その番号のみが抽出されて
いたのですが、今日から全ての行が表示されるようになりました。
例えば、下記のようになります。
テーブル TBL が下記のようにあったとして
AAA BBB
CHAR(3) NUMBER(3,0)
001 3
002 2
003 1
004 1
--- 初期化 ---
Close;
DataSet.Close;
DataSet.CommandText := 'SELECT AAA, BBB FROM TBL';
DataSet.Open;
Open;
--- ボタンイベント 1 ---
DataSet.Filter := 'BBB = 1'; // BBB=1.0でも =2 でも =3 でも同じ結果
--- 結果 ---
TBL テーブルが全て表示
--- ボタンイベント 2 ---
DataSet.Filter := 'AAA = ''001''';
--- 結果 ---
AAA BBB
001 3
--- ボタンイベント 3 ---
DataSet.Filter := 'BBB >= 1 AND BBB < 1.000000000000001;
--- 結果 ---
AAA BBB
003 1
004 1
とボタンイベント3の方法でようやく意図した結果になります。
昨日までEXEのビルドを実行すると、今日でもこのような結果にはならず、BBB=1で意図した
結果になりました。
上記のようなごく単純なアプリケーションをつくっても意図した結果にならないので、
開発環境がオカシイような気がするんです。。。
以前のビルドまでは Delphi 10 Seattle がインストールされており、データベースで
意図しない動作が確認されたので、10が悪さをしているかと思い、アンインストールして、
すると今度はDelphiXE5が正しく動かなくなったので、さらに再インストールをしたのですが。。。
原因がよく分かりません。
結局、Delphiを再インストールしました。
すると、すんなり正常動作しました。
なんだかな〜。
ツイート | ![]() |