asp实现读取数据库输出json代码

发布时间:2017-04-10 15:03 来源:互联网 当前栏目:电脑编程入门

代码如下:


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开发的,可以无视

以上就是本文的全部内容了,希望大家能够喜欢。

  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、