如何解決 Row fetch limit exceeded 的問題 |
答題得分者是:cmf
|
0316
一般會員 發表:32 回覆:19 積分:10 註冊:2002-07-03 發送簡訊給我 |
在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 發送簡訊給我 |
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 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
|
0316
一般會員 發表:32 回覆:19 積分:10 註冊:2002-07-03 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |