DataTable做為資料來源手動分頁

2022-03-02 01:53:56 字數 4521 閱讀 5441

<

%@ import 

namespace="

system.data"%

>

<

%@ import 

namespace="

system.data.oledb"%

>

<

html

>

<

head runat

=server

>

<

title

>

title

>

head

>

<

body

>

<

%dim

objcon 

asoledbconnection

dimobjdataadapter 

asoledbdataadapter

dimstrdbcon 

asstring

dimintfcount, inti, intj 

asinteger

dimpageno, pagesize 

asstring

dimintpageno, intpagesize, intstartrec, intstoprec 

asinteger

dimintmaxpagecount, intmaxrec 

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提供者字串

strdbcon ="

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

"users.mdb") 

'建立connection物件

objcon 

=new

oledbconnection(strdbcon)

'建立dataadapter物件

objdataadapter 

=new

oledbdataadapter(

"select * from users

", objcon)

'建立dataset物件

dimobjdataset 

asdataset 

=new

dataset()

'將取得的記錄資料填入dataset物件

objdataadapter.fill(objdataset, 

"users")

'最大的記錄數

intmaxrec 

=objdataset.tables(

"users

").rows.count 

'是否有查詢到記錄 

ifintmaxrec 

>

0then

'計算開始的記錄

intstartrec 

=intpagesize 

*(intpageno -1

) +1'

計算結束的記錄

intstoprec 

=intstartrec 

+intpagesize -1

ifintstoprec 

>=

intmaxrec 

then

intstoprec 

=intmaxrec -1

endif

'計算頁數

intmaxpagecount 

=intmaxrec 

\intpagesize

if(intmaxrec 

modintpagesize) 

>

0then

intmaxpagecount 

=intmaxpagecount +1

endif

dimobjcolumn 

asdatacolumn

response.write(""

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

foreach

objcolumn 

inobjdataset.tables(

"users

").columns

response.write(

""&

objcolumn.columnname &"

")

next

intfcount 

=objdataset.tables(

"users

").columns.count

response.write(""

) dim

objrow 

asdatarow

'使用迴路顯示記錄

intj 

=intstartrec

doobjrow 

=objdataset.tables(

"users

").rows(intj -1

)response.write(""

)for

inti =0

tointfcount -1

ifobjrow.isnull(inti) 

=false

then

response.write(""

&objrow(inti) &"

")else

response.write(

"---")

endif

next

response.write(""

)intj 

=intj +1

loop

until

intj 

>

intstoprec  

response.write(""

)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資料來源的建立

一 首先建立列 datatable dt new datatable dt.columns.add 列名1 typeof string dt.columns.add 列名2 typeof string dt.columns.add 列名3 typeof string 二 構建行 datarow dr...

DataReader做為資料來源手動分頁

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

WPF 繫結各種資料來源之Datatable

一 binding是wpf的核心,wpf的資料來源有以下幾種 1 ado.net中的datatable 2 xml資料來源 3 object資料來源 4 元素控制項屬性 二 wpf繫結各種資料來源索引 wpf 繫結各種資料來源之 datatable wpf 繫結各種資料來源之 object 資料來源...