加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

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

发布时间:2023-04-07 14:06:10 所属栏目:Asp教程 来源:
导读:复制代码 代码如下:

Function GetTable(Table,Where,Order,OrderSort,curpage, pagesize,MiniJson)

'Author : nigou

'使用方法 : Response.Write GetTable(Table表名,Where条件,Order主键(必须)
复制代码 代码如下:
 
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
 
 

(编辑:聊城站长网)

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

    推荐文章