asp实现读取数据库输出json代码
FunctionGetTable(Table,Where,Order,OrderSort,curpage,pagesize,MiniJson)
'Author:nigou
'使用方法:Response.WriteGetTable(Table表名,Where条件,Order主键(必须),OrderSort(asc,desc),curpage当前页,pagesize每页条数,MiniJson是否输出为miniUI格式)
'
dimi,j,rs
ifOrderSort=""ThenOrderSort="asc"
ifWhere=""ThenWhere="asc"
SetRs=Server.CreateObject("adodb.recordset")
ifcurpage>1then
TmpSql="selecta.*from(selecttop "&(curpage)*pagesize&"*from"&Table&"where"&where &"orderby"&Order&""&OrderSort&")aleftjoin(selecttop"&(curpage-1)*pagesize &"*from"&Table&" where"&where &"orderby"&Order&""&OrderSort&")bona."&Order&"=b."&Order&"whereiif(b."&Order&",'0','1')='1'"
else
TmpSql="selecta.*from(selecttop "&(curpage)*pagesize&"*from"&Table&"where"&where &"orderby"&Order&""&OrderSort&")a"
endif
ifpagesize=0ThenTmpSql="select*from"&Table
Rs.openTmpSql,conn,1,1
RealSize=Rs.recordcount
fori=0toRs.recordcount-1
TmpJson=TmpJson&"{"
forj=0toRs.fields.count-1
TmpJson=TmpJson&""""&(Rs.fields(j).name)&""":"
TmpJson=TmpJson&""""&Rs(j)&""""
ifj<Rs.fields.count-1thenTmpJson=TmpJson&","
next
TmpJson=TmpJson&"}"
ifi<Rs.recordcount-1thenTmpJson=TmpJson&","
TmpJson=TmpJson&vbcrlf
rs.movenext
next
Rs.close
ifMiniJson=1Then
CountSql="selectcount("&order&")from"&Table&"where"&where
Rs.openCountSql,Conn,1,1
Counts=Rs(0)
Rs.Close
GetTable=ToMiniUi(TmpJson,Counts)
Else
GetTable=toJson(TmpJson)
endif
SetRs=nothing
EndFunction
functiontoJson(JsonStr)
toJson="["&vbcrlf&JsonStr&vbcrlf&"]"
endfunction
FunctionToMiniUi(JsonStr,total)
ToMiniUI="{"
ToMiniUI=ToMiniUI&"""total"":"""&total&""","&vbcrlf
ToMiniUI=ToMiniUI&"""data"":["&JsonStr
ToMiniUI=ToMiniUI&"]}"
EndFunction
PS:最后的参数是针对miniUI开发的,可以无视
以上就是本文的全部内容了,希望大家能够喜欢。