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

delphi 数据库如何 分页显示?

尚未結案
dt520
一般會員


發表:11
回覆:61
積分:14
註冊:2003-05-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-11 15:54:47 IP:61.146.xxx.xxx 未訂閱
delphi 数据库如何 分页显示? 数据库的记录多了,如何分页显示?例如每页显示50条记录。 DT520 @>>>-->>---------一路风尘一路歌!!
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-19 08:23:37 IP:210.65.xxx.xxx 未訂閱
Hi:    不太了解你的問題耶,如果是在 Report 中作分頁,那就很簡單,若是要在  Form 中作的話,就我所知,Delphi 7 IntraWeb 的 IWDBGrid 中有一個 RolLimit 的屬性,可控制 IWDBGrid 中可顯示的資料筆數,你可以看 FishfactDM 這個範例程式。     ---------------------- 新手上路,請多多指教 ----------------------
------
Fishman
Mickey
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-19 08:50:58 IP:218.163.xxx.xxx 未訂閱
dt520 你好: 請描述一下你 Delphi 連接數據庫的機制, BDE/ADO/DBExpress..., 以及是否使用 ClientDataSet ?
dt520
一般會員


發表:11
回覆:61
積分:14
註冊:2003-05-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-19 15:19:27 IP:61.146.xxx.xxx 未訂閱
我想在delphi7的form中,我用ado连接。现在是用单机adoDataSet,当测试通过后再用ClientDataSet 。 我是一位初学delphi的学徒,由VB6、.NET改用delphi编程,感觉delphi是最适合我的。 DT520 @>>>-->>---------一路风尘一路歌!!
Mickey
版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-19 21:35:11 IP:218.32.xxx.xxx 未訂閱
dt520 你好:    本站已有相關文章, 建議您搜尋一下 "cachesize" .
dt520
一般會員


發表:11
回覆:61
積分:14
註冊:2003-05-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-11-22 15:38:47 IP:61.146.xxx.xxx 未訂閱
Mickey 你好: //本站已有相關文章, 建議您搜尋一下 "cachesize" . 但我没有什么新发现,好多有问题的朋友还没有得到满意的答复. 如果..... 我不把这功能写进程式里也可以的. DT520 @>>>-->>---------一路风尘一路歌!!
Mickey
版主


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-11-22 22:20:13 IP:218.32.xxx.xxx 未訂閱
dt520 你好:    ADO...我也不知如何才能像 BDE 一樣"分次取資料",    或許是 ADO 的特性吧, 或許...我該閉關...再來練練功
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-11-22 22:36:53 IP:202.39.xxx.xxx 未訂閱
插個花, 不知 TADODataset.MaxRecords 屬性是不是? Specifies how many rows to return in a result set. property MaxRecords: Integer Description Use MaxRecords to limit the number of rows returned by the ADO dataset component. Set MaxRecords to indicate the maximum number. The default value for MaxRecords is 0 (zero), which places no limits on the result set. --- Everything I say is a lie.
dt520
一般會員


發表:11
回覆:61
積分:14
註冊:2003-05-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-11-26 10:37:38 IP:61.146.xxx.xxx 未訂閱
SQL 的select 语句, 有一个top 子句, 可以返回多少个记录. 如果用ORDER BY 子句与where 子句 结合, 可以季出"分页"结果.就是相对烦一点. IIS的ASP的dataset的分页属性,不知道怎样可以"引用". MaxRecords属性,我没有测试,如是按MaxRecords属性字面意思是MaxRecords, 可以等同SQL 的select 语句的top 子句的意思. DT520 @>>>-->>---------一路风尘一路歌!!
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-11-26 15:12:52 IP:218.163.xxx.xxx 未訂閱
要用ADO的分頁功能只存取他封裝的原生ADO.Recordset 例如: 
procedure TForm1.BitBtn1Click(Sender: TObject);
var
 rs:_recordset;
begin
adotable1.Open;
adotable1.Recordset.PageSize:=3;
adotable1.Recordset.AbsolutePage:=2;
rs:=adotable1.Recordset;
showmessage(rs.Fields.Get_Item('ACOD').Value);//取第二頁,第一筆第一個欄位值
end; 
那個RS就是同ASP作分頁功能時的RS..可自行試試 唯一的缺點是雖然可達到分頁存取的功能,但無法用在delphi的資料感知元件 (dbgrid),只能用在 > 永遠追不上技術更新的速度
------
星期一,二...無窮迴圈@@
Mickey
版主


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

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-11-27 13:56:56 IP:218.163.xxx.xxx 未訂閱
pgdennis ... 給你拍拍手 ... 啪 啪 啪
dt520
一般會員


發表:11
回覆:61
積分:14
註冊:2003-05-13

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-11-27 19:19:56 IP:61.146.xxx.xxx 未訂閱
有空我一定要试pgdennis的方法,高手思路广阔. 不过不能用在delphi的資料感知元件(dbgrid)不免有些遗憾! 方法非常值得借鉴! DT520 @>>>-->>---------一路风尘一路歌!!
系統時間:2024-11-05 5:06:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!