加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

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

发布时间:2023-04-21 11:05:46 所属栏目:Asp教程 来源:
导读:asp实现获取数据库输出json代码:代码如下:Function GetTable(Table,Where,Order,OrderSort,curpage, pagesize,MiniJson)'Author : nigou'使用方法 : Response.Write GetTable(Table表名,Where条件,Order主键

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

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章