TQuery.SQLにSQLを「Add」または直接代入(記入)する場合においてですが、
WHERE節で「Like」は使えないのでしょうか?
取り扱うDataBaseに適応すれば使えます。
SQLはそのDataBaseに対して送られますので、
Delphiが処理するわけではありません。
現在作成中のプログラムが以下の様なのですけど、
//---------------------------
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の使い方がいけないのでしょうか
一般的なSQLですと、
WHERE フィールド名 Like '%ほげほげ'
になります。*はAccess特有の記号になります。
お使いのデーターベースで試してみればどうでしょう?
それぞれにコマンドラインで使えるツールがあるはずです。
お使いのDataBaseは何でしょうか?
「*」ではなく「%」を使用した所、EOFにならなくなりました
HOtaさん、昨年からお世話になっております
今年も宜しくお願い致します
ツイート | ![]() |