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

如何解決 Row fetch limit exceeded 的問題

答題得分者是:cmf
0316
一般會員


發表:32
回覆:19
積分:10
註冊:2002-07-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-07 09:30:26 IP:61.220.xxx.xxx 未訂閱
在Delphi 的 component頁次執行 Install component, unit 內容如下 // Begin ..... unit ResQuery; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, BDE; type TRestrictedQuery=class(TQuery) private FMaxRowCount: Longint; protected procedure PrePareCursor; override; published property MaxRowCount: Longint read FMaxRowCount write MaxRowCount; end; procedure Register; implementation procedure TRestrictedQuery.PrepareCursor; begin inherited PrepareCursor; if FMaxRowCount > 0 then check(DbiSetProp(hDBIObj(Handle), curMAXROWS, FMaxRowCount)); end; procedure Register; begin RegisterComponents('DDG', [TRestrictedQuery]); end; end. // End ... 然後在其它程式引用 QueryMst: TRestrictedQuery; 假設第一次查詢時 iMaxRecs := 10; QueryMst.MaxRowCount := iMaxRecs 執行QueryMst.Open 傳回10筆 第二次查詢時 iMaxRecs := 20; 執行QueryMst.Open 傳回10筆 既出現 Row fetch limit exceeded 的訊息, 泓遠
------
泓遠
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-07 09:57:18 IP:61.218.xxx.xxx 未訂閱
private  procedure SetMaxRowCount(v:longint);  published  property MaxRowCount: Longint read FMaxRowCount write SetMaxRowCount;        procedure TRestrictedQuery.SetMaxRowCount(v:longint);  begin  if FMaxRowCount <> v then   begin   FMaxRowCount := v;   check(DbiSetProp(hDBIObj(Handle), curMAXROWS, FMaxRowCount));  end;     end;        procedure TRestrictedQuery.PrepareCursor; begin inherited PrepareCursor; if FMaxRowCount > 0 then  check(DbiSetProp(hDBIObj(Handle), curMAXROWS, FMaxRowCount)); end;        
------
︿︿
0316
一般會員


發表:32
回覆:19
積分:10
註冊:2002-07-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-07 11:24:31 IP:61.220.xxx.xxx 未訂閱
cmf: 謝謝你的指導, 但當我執行QueryMst.MaxRowCount := N(數字) 會出現 Invalid parameter ., 請問 SetMaxRowCount(v:longint); 再哪裡傳入參數, 謝謝! 泓遠
------
泓遠
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-07 11:28:02 IP:61.218.xxx.xxx 未訂閱
property MaxRowCount: Longint read FMaxRowCount write  SetMaxRowCount;
------
︿︿
0316
一般會員


發表:32
回覆:19
積分:10
註冊:2002-07-03

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-02-07 12:09:49 IP:61.220.xxx.xxx 未訂閱
cmf: 你好, 經過測試發現 procedure TRestrictedQuery.SetMaxRowCount(v:longint); begin if FMaxRowCount <> v then begin FMaxRowCount := v; check(DbiSetProp(hDBIObj(Handle), curMAXROWS, FMaxRowCount)); 上一行會出現 Invalid parameter ... 的問題 end; 泓遠
------
泓遠
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-02-07 12:40:39 IP:61.218.xxx.xxx 未訂閱
check(DbiSetProp(hDBIObj(Handle), curMAXROWS, FMaxRowCount));  上一行會出現 Invalid parameter ... 的問題    那就把上一行刪掉 發表人 - cmf 於 2003/02/12 00:28:15
------
︿︿
系統時間:2024-07-04 22:50:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!