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

比較前10個字是否重複

尚未結案
jawtair
一般會員


發表:30
回覆:92
積分:24
註冊:2003-04-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-19 12:09:40 IP:61.221.xxx.xxx 未訂閱
這個開題是由原先問題延伸而來 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=32597 請問一下,如果我要比較的欄位A13,是要以前10個字作比較是否重複,類似以前Clipper語法SUBSTR()是否在Delphi上可行 (正在翻書中) ADOQuery1.SQL.Add('where (select count(*) from pm3d T2 where T1.A13 = T2.A13 and isnull(rtrim(T1.A13),'#39#39')<>'#39#39') > 1'); 盼那位先見再次指導,謝謝大家。 另外新發表一個需求問題如下,如果您有這方面的經驗,盼也能指導,謝謝!! http://delphi.ktop.com.tw/topic.php?TOPIC_ID=32621
Mickey
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-19 14:31:07 IP:218.163.xxx.xxx 未訂閱
where substring(T1.A13,1,10) = substring(T2.A13,1,10) Note : substring 是 SQLServer 的 function.
jawtair
一般會員


發表:30
回覆:92
積分:24
註冊:2003-04-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-19 15:58:40 IP:61.221.xxx.xxx 未訂閱
引言: where substring(T1.A13,1,10) = substring(T2.A13,1,10) Note : substring 是 SQLServer 的 function.
Compiler沒有問題,但執行時會出現: [Microsoft][ODBC SQL Server Driver][SQL Server]逾時終止 請問問題出在那裡?再次感謝... 程式碼如下: procedure TForm1.SpeedButton16Click(Sender: TObject); begin ADOQuery1.Active := false; ADOQuery1.sql.Clear; ADOQuery1.SQL.Add('Select * from pm3d T1'); ADOQuery1.SQL.Add('where (select count(*) from pm3d T2 where substring(T1.A13,1,10) = substring(T2.A13,1,10) and isnull(rtrim(T1.A13),'#39#39')<>'#39#39') > 1'); ADOQuery1.SQL.Add('order by T1.A13'); if(not ADOQuery1.Prepared) then begin ADOQuery1.Prepared; end; ADOQuery1.OPEN; ADOQuery1.close; ADOQuery1.Open; Label3.Caption:=IntToStr(ADOQuery1.RecordCount); DataSource1.DataSet :=ADOQuery1; DBGrid1.DataSource := DataSource1; end; 發表人 - jawtair 於 2003/06/19 16:03:30
Mickey
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-19 16:12:01 IP:218.163.xxx.xxx 未訂閱
應該是被 Timeout 踢出來, 你的資料量應該是很大, 再加上 SQL 用許多 Function.... MSSQL ODBC 預設 Query time 30 secs. 可設定放大之.
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-19 16:17:26 IP:203.95.xxx.xxx 未訂閱
逾時終止 的原因是因為處理時間過長而 timeout, 你可以試著將 ADOConnection 的 Timeout 設長一點試試看.
jawtair
一般會員


發表:30
回覆:92
積分:24
註冊:2003-04-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-06-19 16:50:07 IP:61.221.xxx.xxx 未訂閱
我也是這樣想,所以將ADOConnection的Timeout設成3600,但好像等待的時間沒有差多少?
jerryhung
初階會員


發表:6
回覆:46
積分:30
註冊:2002-12-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-06-19 17:11:09 IP:202.39.xxx.xxx 未訂閱
引言: ADO 的逾時問題 That commandtimeout property of the TadoConnection only applies to the TadoConnection.execute method. In addition in D5 the CommandTimeout for TadoQuery and TadoStoredProc do not work. Use a TadoDataset or TadoCommand when you need commandTimeout to work.
我之前用ADO碰到的逾時問題,在網路上找到的答案...我後來改用ADOCommand 就可以了...........我想應該是這個問題 (我用 Delphi 5) 之前也是搞了半天才用出來說,希望這次能快速幫上你
系統時間:2024-06-01 23:34:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!