全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:780
推到 Plurk!
推到 Facebook!

有关SQL语句问题,还请指教

尚未結案
jtp
初階會員


發表:39
回覆:81
積分:29
註冊:2003-04-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-29 13:58:03 IP:218.18.xxx.xxx 未訂閱
我的edit1中数据如下: 壳/圈/带 我现在想把我表中的A字段中所有含有 "壳""圈""带"的记录挑选出来,请问如何做啊?我做了查询如下,但是不行: with qry1 do begin close; sql.clear; sql.Add('select * from casestructure'); Sql.Add(' where ((owemodel Like ''%' (edit1.Text) '%'')'); prepared:=tre; open; end;
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-29 15:05:31 IP:218.163.xxx.xxx 未訂閱
引言: sql.Add('select * from casestructure'); Sql.Add(' where owemodel Like '#39'%' + edit1.Text + '%'#39); open;
改這樣試試(#39=chr(39)=') 發表人 - Mickey 於 2003/04/29 15:07:56
jtp
初階會員


發表:39
回覆:81
積分:29
註冊:2003-04-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-29 15:21:31 IP:218.18.xxx.xxx 未訂閱
我改成这样,但是不行,找不出记录 Sql.Add(' where (casesort Like '#39'%' (edt_structure.Text) '%'#39')');
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-29 15:26:57 IP:61.216.xxx.xxx 未訂閱
with qry1 do
begin
close;
sql.clear;
sql.Add('select * from casestructure');
Sql.Add(' where owemodel Like ' #39 '%'   edit1.Text   '%' #39);
prepared:=true;
open;
end;
TRY TRY SEE
發表人 - chih 於 2003/04/29 15:30:32
jtp
初階會員


發表:39
回覆:81
積分:29
註冊:2003-04-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-29 15:37:27 IP:218.18.xxx.xxx 未訂閱
都是不行啊,因为我的edit1中包含了几个过滤条件,要把这些相似的记录全部选 出来
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-29 15:44:01 IP:218.163.xxx.xxx 未訂閱
引言: 都是不行啊,因为我的edit1中包含了几个过滤条件,要把这些相似的记录全部选 出来
1. SQL 錯誤?還是 select 不到你要的紀錄 ? 2. Edit1 會填入什麼值 ?
jtp
初階會員


發表:39
回覆:81
積分:29
註冊:2003-04-20

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-29 15:53:53 IP:218.18.xxx.xxx 未訂閱
edit1中会填入 /翘面平底/平面平底/卜面翘底 诸如此类的值,我想把记录中含有 翘面平底 或 平面平底 或 卜面翘底 的记录全部选出来,请问行吗?
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-04-29 16:54:35 IP:218.163.xxx.xxx 未訂閱
引言: edit1中会填入 /翘面平底/平面平底/卜面翘底 诸如此类的值,我想把记录中含有 翘面平底 或 平面平底 或 卜面翘底 的记录全部选出来,请问行吗?
1. 增加 uses IdGlobal
2. Source Code :
procedure TForm1.Button1Click(Sender: TObject);
var SL : TStrings;
    S  : string;
    i  : integer;
begin
  SL := TStringList.Create;
  try
    BreakApart(edit1.text,'/',SL); // BreakApart function in IdGlobal.pas
    S := '';
    for i := 0 to SL.Count-1 do
      if SL[i]<>'' then S := S + ' owemodel Like '#39'%' + SL[i] + '%'#39' or';
    if S<>'' then S := Copy(S,1,length(S)-3);
  finally
    SL.Free;
  end;
  with qry1 do begin
    close;
    sql.clear;
    sql.Add('select * from casestructure');
    if S<>'' then begin
      sql.Add(' where');
      sql.Add(S);
    end;
    prepared:=true;
    open;
  end;
end;    
jtp
初階會員


發表:39
回覆:81
積分:29
註冊:2003-04-20

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-04-29 17:24:32 IP:218.18.xxx.xxx 未訂閱
IdGlobal 不存在这个pas啊? breakapart运行不了啊?!
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-04-29 19:11:20 IP:218.32.xxx.xxx 未訂閱
引言: IdGlobal 不存在这个pas啊? breakapart运行不了啊?!
unit Unit1;    interface    uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdGlobal;
...
系統時間:2024-07-02 0:07:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!