IBTableでキー検索するには?

解決


ちゃ  2003-09-14 00:20:29  No: 4817

delphi7でDBはinterbaseを使ってます。
BDEの操作方法は情報が多いのですがinterbaseの
操作方法がよくわかりません。
例えばBDEで  
table1.setkey;
table1.fields[0].asstring := edit1.text;
table1.gotokey;
というような検索が出来ると思いますが、interbaseの場合は
どのように記述するのでしょうか。
どなたかご教示お願いします。


HOota  2003-09-14 01:51:14  No: 4818

Locateでいけると思います。このあたりは、TIBTableのTDataSetから探せると思います。TIBTableもTIBQueryもTDataSetをもっているので同じように使えます。
ただ、Tableを使うのはRDBMSではやめた方がいいと思います。


ちゃ  2003-09-14 02:32:23  No: 4819

With IBTable3 do
   Locate('Form_id',VarArrayOf([para_form_id]),[]);
HOataさんありがとうございます。
上のように記述したらうまくいきました。
これでよいでしょうか。


ちゃ  2003-09-14 16:11:09  No: 4820

解決。


はくちゃん  2020-06-26 14:15:27  No: 148863

locateで検索して、 検索に成功か失敗かの判断記述はどのように書くのでしょうか?

のっかり質問で申し訳ありません。


HFUKUSHI  2020-06-26 16:31:21  No: 148864

http://docwiki.embarcadero.com/Libraries/Rio/ja/IBX.IBTable.TIBTable.Locate
> Locate は,一致するレコードを見つけると true を返し,それを現在のレコードにします。そうでない場合には,Locate は false を返します。


はくちゃん  2020-06-26 21:24:59  No: 148866

HFUKUSHI様

早速にありがとうございます・
こんな感じでしょうか?

With IBTable3 do
 if  Locate('Form_id',VarArrayOf([para_form_id]),[])=ture then showmessage('FOUND') else showmessage('Not found');

以下のFindKeyは検索速度が遅いです?  
if IBTable1.FindKey(['20200601']) then showmessage('Found') else showmessage('Not found');

まだ実際に動かしてはいません が、

   else showmessage('not Found');


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加