DataReader做為資料來源手動分頁

2022-03-02 01:53:55 字數 4542 閱讀 8021

<

%@ import 

namespace="

system.data"%

>

<

%@ import 

namespace="

system.data.oledb"%

>

<

html

>

<

head runat

=server

>

<

title

>

title

>

head

>

<

body

>

<

%dim

objcon 

asoledbconnection

dimobjcmd 

asoledbcommand

dimobjdatareader 

asoledbdatareader

dimintfcount, inti 

asinteger

dimpageno, pagesize 

asstring

dimintpageno, intpagesize, intstartrec, intstoprec 

asinteger

dimintmaxpagecount, intmaxrec, intcount 

asinteger

'取得目前資料表記錄的頁數

pageno 

=request.querystring(

"pageno")

ifpageno =""

then

intpageno =1

else

intpageno 

=convert.toint32(pageno)

endif

'//取得每一頁顯示的記錄數

pagesize 

=request.querystring(

"pagesize")

ifpagesize =""

then

intpagesize =2

else

intpagesize 

=convert.toint32(pagesize)

endif

'oledb提供者字串

dimstrdbcon ="

provider=microsoft.jet.oledb.4.0;data source="&

"users.mdb") 

'建立connection物件

objcon 

=new

oledbconnection(strdbcon)

objcon.open() 

'開啟資料庫鏈結

'建立command物件的sql指令

objcmd 

=new

oledbcommand()

objcmd.commandtext ="

select count(*) from users

"objcmd.connection 

=objcon

'取得datareader物件的記錄數

objdatareader 

=objcmd.executereader()

objdatareader.read()

intmaxrec 

=objdatareader.getvalue(0)

objdatareader.close() 

'關閉datareader物件

'第二次取得記錄內容

objcmd.commandtext ="

select * from users

"objdatareader 

=objcmd.executereader()

'取得字段數目

intfcount 

=objdatareader.fieldcount -1

'是否有查詢到記錄 

ifintmaxrec 

>

0then

'計算開始的記錄

intstartrec 

=intpagesize 

*(intpageno -1

) +1'

計算結束的記錄

intstoprec 

=intstartrec 

+intpagesize -1

'計算頁數

intmaxpagecount 

=intmaxrec 

\intpagesize

if(intmaxrec 

modintpagesize) 

>

0then

intmaxpagecount 

=intmaxpagecount +1

endif

response.write(""

)'顯示資料庫的欄位名稱

forinti =0

tointfcount

response.write(

""&

objdatareader.getname(inti) &"

")

next

response.write(""

) intcount =0

'顯示資料表的記錄

while

objdatareader.read() 

andintcount 

<

intstoprec

intcount 

=intcount +1

ifintcount 

>=

intstartrec 

then

response.write(""

)'顯示每筆記錄的字段 

forinti =0

tointfcount

ifobjdatareader.isdbnull(inti) 

=false

then

response.write(""

&objdatareader.item(inti) &"

")else

response.write(

"---")

endif

next

response.write(""

)end

ifend

while

response.write(""

)objdatareader.close() 

'關閉datareader

response.write(

"一共有"&

intmaxrec &"

筆")'

目前的頁數

response.write(

"目前為第"&

intpageno &"

頁/總共有"&

intmaxpagecount &"

頁")'

建立數字的超連結

dimstrurl, intpreviouspageno, intnextpageno 

forinti =1

tointmaxpagecount

strurl ="

"&inti

strurl 

=strurl &"

&pagesize="&

intpagesize &"

'>"&

inti &"

"response.write(strurl &"

")ifinti 

mod10=0

then

response.write(""

)end

ifnext

'上一頁的超連結

intpreviouspageno 

=intpageno -1

ifintpreviouspageno 

>

0then

strurl ="

"&intpreviouspageno

strurl 

=strurl &"

&pagesize="&

intpagesize &"

'>上一頁

"response.write(strurl &"

")endif

'下一頁的超連結

intnextpageno 

=intpageno +1

ifintnextpageno 

<=

intmaxpagecount 

then

strurl ="

"&intnextpageno

strurl 

=strurl &"

&pagesize="&

intpagesize &"

'>下一頁

"response.write(strurl &"

")endif

endif

objcon.close() 

'關閉資料庫鏈結

%>

body

>

html

>

DataTable做為資料來源手動分頁

import namespace system.data import namespace system.data.oledb html head runat server title title head body dim objcon asoledbconnection dimobjdataad...

SpringBoot學習 資料來源(一)單資料來源

springboot2.1.9預設支援三種資料來源 connection pool com.zaxxer.hikari.hikaridatasource org.apache.tomcat.jdbc.pool.datasource org.apache.commons.dbcp2.basicdata...

WPF 的 資料來源屬性 和 資料來源

一 資料來源 資料物件 屬性 path 或 path的值 path vm.property或m.property 通常具有通知功能 特例除外 二 path不能孤立而存在,它一定具有所歸屬的資料來源,一定要找到path 確切的說 是它的值 所歸屬的資料來源,說明如下 資料來源 資料物件 1 指定控制項...