TQuery.SQLのSQL文

解決


小雪  2005-01-04 23:29:39  No: 12589

TQuery.SQLにSQLを「Add」または直接代入(記入)する場合においてですが、
WHERE節で「Like」は使えないのでしょうか?


HOta  2005-01-04 23:41:34  No: 12590

取り扱うDataBaseに適応すれば使えます。
SQLはそのDataBaseに対して送られますので、
Delphiが処理するわけではありません。


小雪  2005-01-04 23:54:43  No: 12591

現在作成中のプログラムが以下の様なのですけど、

//---------------------------
 with Qry do
 begin
   sql.clear;
   sql.add(' Select * From ' + テーブル名);
   sql.add(' WHERE テーブル名.フィールド名, Like ''*' + ○○.Text + '*''' );

   Close;
   Prepare;

   Open;

   while Not EOF do
   begin
     (割愛)
     Next;
   end;

   Close;
   UnPrepare;
 end;
//---------------------------

これだとEOFがTrueになってしまいます(Accessのクエリーで実行するとFalse)
Likeの使い方がいけないのでしょうか


HOta  2005-01-05 01:07:34  No: 12592

一般的なSQLですと、
WHERE フィールド名 Like '%ほげほげ'
になります。*はAccess特有の記号になります。
お使いのデーターベースで試してみればどうでしょう?
それぞれにコマンドラインで使えるツールがあるはずです。
お使いのDataBaseは何でしょうか?


小雪  2005-01-05 01:34:28  No: 12593

「*」ではなく「%」を使用した所、EOFにならなくなりました

HOtaさん、昨年からお世話になっております
今年も宜しくお願い致します


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

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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