線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:804
推到 Plurk!
推到 Facebook!

Query中的Sql语句

答題得分者是:peterpcc
小丫123
初階會員


發表:85
回覆:62
積分:29
註冊:2004-08-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-06 16:23:22 IP:218.65.xxx.xxx 未訂閱
我用的数据库是MYSQL,建立了表t_xsb(学生基本信息表),td_xbdm(系别),td_zydm(专业) 我想通过Sql语句将这几个表连接,t_xsb(xh(*),xm,xbdm,zydm), td_xbdm(xbdm(*),xbmc),td_zydm(zydm(*),zymc),通过xmedit来检索相关信息。 我自己编了好多次,结果都有错。恳请前辈指点!!     
var
  xm,sqlstr:string;
begin
  xm:=trim(edit1.Text );
  if length(xm)<1 then
  begin
    sqlstr:='select t_xsb.xm as xm,t_xsb.csny as csny,td_zydm.zymc as zymc,td_xbdm.xbmc from t_xsb ';
    sqlstr:=sqlstr ' inner join td_zydm  on t_xsb.zydm=td_zydm.zydm';
    sqlstr:=sqlstr ' inner join td_xbdm  on t_xsb.xbdm=td_xbdm.xbdm';
  end
  else
  begin
    xm:='%' xm '%';
    sqlstr:='select t_xsb.xm as xm,t_xsb.csny as csny,td_zydm.zymc as zymc,td_xbdm.xbmc from t_xsb ';
    sqlstr:=sqlstr ' inner join td_zydm  on t_xsb.zydm=td_zydm.zydm';
    sqlstr:=sqlstr ' inner join td_xbdm  on t_xsb.xbdm=td_xbdm.xbdm';
    sqlstr:=sqlstr 'where(t_xsb.xm like ''' xm ''')';
  end;
  query1.Close;
  query1.SQL.Clear ;
  query1.SQL.Add(sqlstr);
  query1.Open;    end; 
發表人 - 小丫123 於 2004/12/06 16:42:52 發表人 - 小丫123 於 2004/12/06 17:05:34
peterpcc
一般會員


發表:6
回覆:37
積分:13
註冊:2004-09-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-06 17:54:10 IP:221.239.xxx.xxx 未訂閱
試試這樣,應該是可以的. var xm,sqlstr:string; begin xm:=trim(edit1.Text ); sqlstr:='select t_xsb.xm as xm,t_xsb.csny as csny,td_zydm.zymc as zymc,td_xbdm.xbmc from t_xsb '; sqlstr:=sqlstr ' inner join td_zydm on t_xsb.zydm=td_zydm.zydm'; sqlstr:=sqlstr ' inner join td_xbdm on t_xsb.xbdm=td_xbdm.xbdm'; if xm<>'' then begin xm:='%' xm '%'; sqlstr:=sqlstr ' where t_xsb.xm like ''' xm ''' '; end; query1.Close; query1.SQL.Clear ; query1.SQL.Add(sqlstr); query1.Open; end;
peterpcc
一般會員


發表:6
回覆:37
積分:13
註冊:2004-09-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-06 17:57:24 IP:221.239.xxx.xxx 未訂閱
var
  xm,sqlstr:string;
begin
  xm:=trim(edit1.Text );
  sqlstr:='SELECT t_xsb.xm as xm,t_xsb.csny as csny,td_zydm.zymc as zymc,td_xbdm.xbmc from t_xsb ';
  sqlstr:=sqlstr ' inner join td_zydm on t_xsb.zydm=td_zydm.zydm';
  sqlstr:=sqlstr ' inner join td_xbdm on t_xsb.xbdm=td_xbdm.xbdm';
  if xm<>'' then
  begin
    xm:='%' xm '%';
    sqlstr:=sqlstr ' where t_xsb.xm like ''' xm ''' ';
  end;
  query1.Close;
  query1.SQL.Clear ;
  query1.SQL.Add(sqlstr);
  query1.Open;
end;    
系統時間:2024-06-29 5:22:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!