大文字と小文字(Locate case Insensitive)にかかわらず "locate"で検索したい。このような :火の鳥で"locate"でFirebirdを検索
Form1.Table1.Locate('field', (Edit1.Text),[loCaseInsensitive]) ;
、私はそれを行う方法を知りませんでした。
Delphi XE5 + Firebird 2.5 + ZEOSDBO-7.1.4。
ありがとうございました。
大文字と小文字(Locate case Insensitive)にかかわらず "locate"で検索したい。このような :火の鳥で"locate"でFirebirdを検索
Form1.Table1.Locate('field', (Edit1.Text),[loCaseInsensitive]) ;
、私はそれを行う方法を知りませんでした。
Delphi XE5 + Firebird 2.5 + ZEOSDBO-7.1.4。
ありがとうございました。
Locate
機能は、すべてではなくほとんどのTDataSet-descendantコンポーネントで実装されているクライアント側の機能です。
「検索」機能ではない、つまり、データセットがサーバーから取得するテーブル行には何の影響もありません。使用しているデータセットの種類に対して通常どんな方法で行っても構いません、例えばSQL文を指定してから、データセットでOpen
を呼び出します。
Locate
は、最初に一致するレコードがある場合はデータセットのカーソルを移動するだけで、そうでない場合はFalseを返します。つまり、成功した場合、最初に見つかったレコードは、データセットの現在のレコード、つまりデータセットに接続されたdb対応コントロールによって表示されるレコードになります。
動作するはずですあなたが引用コードは、は、あなたがそれとは、すでにデータが移入されたサポートを使用している TDataSetのタイプを提供します。もちろん、一致するレコードの位置を管理する場合にのみTrueを返します。
Found := Table1.Locate('field1;field2', VarArrayOf([Edit1.Text, Edit2.Text]), [loCaseInsensitive]);
ありがとうございましたように、あなたが何かを行うことができ、複数のフィールドの値に一致するレコードを検索します。どのように大文字と小文字(大文字と小文字を区別しない)に関係なくSQLでレコードを検索してください。 ZQuery1.SQL.Add( 'SELECT "Field1" FROM Table "Field1" =' + QuotedStr(Trim(Edit1.Text))); 'Firebird 2.5 + ZEOSDBO-7.1.4。 –
@Bill:コメントに新しい質問をしないでください。代わりに、新しい質問を投稿し、ページ上部の* Ask Question *ボタンを使用して質問してください。ここでのあなたの質問は、Locateを使用することに関するものであり、回答されています。 SQLについて別の質問がある場合は、新しい投稿を作成してそこに尋ねてください。 –