這篇文章主要介紹了asp實作讀取資料庫輸出json程式碼的方法的相關資料,需要的朋友可以參考下
複製代碼代碼如下:Function GetTable(Table,Where,Order,OrderSort,curpage, pagesize,MiniJson)
'Author : nigou
'使用方法: Response.Write GetTable(Table表名,Where條件,Order主鍵(必須),OrderSort(asc,desc),curpage當前頁, pagesize每頁條數,MiniJson是否輸出為miniUI格式)
'
dim i, j ,rs
if OrderSort= Then OrderSort=asc
if Where= Then Where=asc
Set Rs=Server.CreateObject(adodb.recordset)
if curpage>1 then
TmpSql=select a.* from ( select top & (curpage) * pagesize & * from & Table & where & where & order by & Order & & OrderSort & ) a left join ( select top & (curpage-1) * pagesize & * from & Table & where & where & order by & Order & & OrderSort & ) b on a. & Order & =b. & Order & where iif(b. & Order & ,'0','1')='1'
else
TmpSql=select a.* from ( select top & (curpage) * pagesize & * from & Table & where & where & order by & Order & & OrderSort & ) a
end if
if pagesize=0 Then TmpSql = select * from & Table
Rs.open TmpSql,conn,1,1
RealSize=Rs.recordcount
for i=0 to Rs.recordcount-1
TmpJson= TmpJson & {
for j=0 to Rs.fields.count-1
TmpJson= TmpJson & &(Rs.fields(j).name) & :
TmpJson= TmpJson & & Rs(j) &
if j<Rs.fields.count-1 then TmpJson= TmpJson & ,
next
TmpJson= TmpJson & }
if i<Rs.recordcount-1 then TmpJson= TmpJson & ,
TmpJson= TmpJson & vbcrlf
rs.movenext
next
Rs.close
if MiniJson=1 Then
CountSql=select count(& order &) from & Table & where & where
Rs.open CountSql,Conn,1,1
Counts=Rs(0)
Rs.Close
GetTable=ToMiniUi(TmpJson,Counts)
Else
GetTable=toJson(TmpJson)
end if
Set Rs=nothing
End Function
function toJson(JsonStr)
toJson=[ & vbcrlf & JsonStr & vbcrlf & ]
end function
Function ToMiniUi(JsonStr,total)
ToMiniUI={
ToMiniUI=ToMiniUI & total: & total & , & vbcrlf
ToMiniUI=ToMiniUI & data: [ & JsonStr
ToMiniUI=ToMiniUI & ]}
End Function
PS:最後的參數是針對miniUI開發的,可以無視
以上就是本文的全部了,希望大家能夠喜歡。