asp读取数据库关联的2个表之间的数据并以JSON格式输出

ASP   2025-02-27 17:55   65   0  
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
'讯飞星火,读取数据库并JSON输出
' 创建数据库连接
Dim conn, rsParent, rsChild, jsonArray, parentItem, childItem
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=db;User ID=sa;Password=123456;"

' 父类SQL语句
Dim parentSql
parentSql = "select id, MingCheng from BDClass where ParentID='1' order by orders"
Set rsParent = Server.CreateObject("ADODB.Recordset")
rsParent.Open parentSql, conn

' 初始化JSON数组
jsonArray = "["

' 循环父类记录
Do While Not rsParent.EOF
    ' 获取当前父类的id和名称
    Dim parentId, parentName
    parentId = rsParent("id")
    parentName = rsParent("MingCheng")
    
    ' 子类SQL语句
    Dim childSql
    childSql = "select C.Comid, C.Title, C.OutUrl, C.TJtitle, C.Logo, C.ZSstar from BDcompany T, Company C where T.Comid=C.Comid and C.IsPass=1 and T.classid='" &parentId& "' order by Orders, T.AddTime desc, T.ID desc"
    Set rsChild = Server.CreateObject("ADODB.Recordset")
    rsChild.Open childSql, conn
    
    ' 初始化子类数组
    Dim childArray
    childArray = "["
    
    ' 循环子类记录
    Do While Not rsChild.EOF
        ' 构建子类项的JSON字符串
        childItem = "{""Comid"":""" & rsChild("Comid") & """,""Title"":""" & rsChild("Title") & """,""OutUrl"":""" & rsChild("OutUrl") & """,""TJtitle"":""" & rsChild("TJtitle") & """,""Logo"":""" & rsChild("Logo") & """,""ZSstar"":""" & rsChild("ZSstar") & """}"
        childArray = childArray & childItem & ","
        rsChild.MoveNext
    Loop
    
    ' 移除最后一个逗号并关闭子类数组
    If Len(childArray) > 1 Then childArray = Left(childArray, Len(childArray) - 1)
    childArray = childArray & "]"
    
    ' 构建父类项的JSON字符串
    parentItem = "{""id"":" & parentId & ", ""MingCheng"":"" & parentName & "", ""children"":" & childArray & "}"
    jsonArray = jsonArray & parentItem & ","
    
    rsParent.MoveNext
Loop

' 移除最后一个逗号并关闭JSON数组
If Len(jsonArray) > 1 Then jsonArray = Left(jsonArray, Len(jsonArray) - 1)
jsonArray = jsonArray & "]"

' 输出JSON格式的结果
Response.Write jsonArray

' 清理资源
rsParent.Close
Set rsParent = Nothing
rsChild.Close
Set rsChild = Nothing
conn.Close
Set conn = Nothing
%>


博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。