またADOについて教えて下さい

解決


初心者  2002-05-13 20:34:50  No: 866

LIKEで検索しようと思うのですが、どうしてもできません。
(部分検索)よろしくお願いします。下記のロジックでは
どうも上手くいきません

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.TEXT:='SELECT * FROM マスタ WHERE コード LIKE  '%''+Rightedit1.Text+''%'';
          ADOQuery1.Open;


にしの  2002-05-14 07:12:08  No: 867

%を*に置き換えても駄目ですか?
JETの場合は、*になるらしいです。
_は?になるらしいです。


初心者  2002-05-14 18:46:28  No: 868

例に沿って、やってみたのですが上手くいきません。
%を※変えただけですけど下記のエラーメッセージが表示されます
宜しくお願いします

[エラー] Uyomiurimst.pas(92): この型には指定した演算子は使えません


にしの  2002-05-14 21:16:57  No: 869


エラーになるとしたら、SQLのエラーですが・・・。
僕が言った修正は、Delphiではありません。
SQL文のほうです。

ADOQuery1.SQL.TEXT:='SELECT * FROM マスタ WHERE コード LIKE  '%''+Rightedit1.Text+''%'';

これをよく見たら、Delphiの文字列の表記が間違っていますね。
正解は、

ADOQuery1.SQL.TEXT:='SELECT * FROM マスタ WHERE コード LIKE  ''%'+Rightedit1.Text+'%''';
です。
シングルコーテーションがわかりにくいのであれば、
ADOQuery1.SQL.TEXT:='SELECT * FROM マスタ WHERE コード LIKE  "%'+Rightedit1.Text+'%"';
としたほうがいいと思います。
# ダブルコーテーションを許さないDBならしかたありませんが


初心者  2002-05-14 22:32:02  No: 870

大変ご迷惑をかけました。
ようやく解決する事ができました。
今後ともよろしくお願いします


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








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