asp中把数据表映射成ajax可调用的json格式的方法
作者:miantuan 来源:经典论坛 时间:2010-01-22 15:27:00
asp ajax json教程
首先用ACCESS建json.mdb的库,然后建一个表t_jsontable,字段如下:jt_id,jt_name,jt_createtime
下面我们学习如果把t_jsontable表的单条记录映射成JSON格式
<!--#include file="Conn.asp" -->
<!--#include file="MiantuanJson.asp" -->
<%
'MtRecToJson的使用范例
'作者:miantuan.net
'email:ray@miantuan.net
'qq:12694448
'交流区:http://www.miantuan.net
ConnectionDatabase
dim myrs,sqlstr,id,singleJson
Set myrs=Server.CreateObject("ADODB.recordset")
id = request("id")
if id="" then
id = "0"
end if
sqlstr = "select * from t_jsontable where jt_id="&id
set myrs = conn.execute(sqlstr)
'实例化一个MtRecToJson类的对象
set singleJson = new MtRecToJson
'把recordset对象set给singleJson singleJson.setRecordset(myrs)
'调用getOneJsonDB方法输出JSON response.write singleJson.getOneJsonDB()
if not IsEmpty(myrs) then
myrs.close
set myrs = nothing
end if
conn.close
set conn = nothing
%>
下面是执行结果:
{"jt_id":"1","jt_name":"麦兜","jt_createtime":"2009-12-7 15:01:40"}
接下来我们学习把多条记录映射成JSON格式的方法
<!--#include file="Conn.asp" -->
<!--#include file="MiantuanJson.asp" -->
<% ConnectionDatabase
dim myrs,sqlstr,singleJson,page,pagesize,sort
dim n,v
Set myrs=Server.CreateObject("ADODB.recordset")
page=Replace(Request.QueryString("page"),"'","''")
pagesize=Replace(Request.QueryString("pagesize"),"'","''")
sort=Replace(Request.QueryString("sort"),"'","''")
n=Replace(Request.QueryString("n"),"'","''")
v=Replace(Request.QueryString("v"),"'","''")
If v="" then v=0
if sort="1" then
sort = "desc"
elseif sort = "2" then
sort = "asc"
else
sort = "desc"
end if
If page="" then page=1
If pagesize="" then pagesize=20
sqlstr = "select * from t_jsontable"
if n<>"" then
sqlstr = sqlstr & " where " & n & "=" & v
end if
sqlstr = sqlstr & " order by jt_id "&sort
myrs.Open sqlstr,Conn,1.1
if myrs.recordcount<>0 then
myrs.pageSize = pagesize
myrs.AbsolutePage = page
end if
'实例化一个MtRecToJson类的对象
set singleJson = new MtRecToJson
'把recordset对象set给singleJson
singleJson.setRecordset(myrs)
'调用getListJsonDB方法输出JSON
response.write singleJson.getListJsonDB()
if not IsEmpty(myrs) then
if myrs.State>0 then
myrs.close
end if
set myrs = nothing
end if
conn.close
set conn = nothing
%>
下面是执行结果:
{"count":"4",items:[{"jt_id":"5","jt_name":"嚷嚷","jt_createtime":"2009-12-8 17:12:22"},{"jt_id":"4","jt_name":"闪烁","jt_createtime":"2009-12-8 17:12:19"},{"jt_id":"2","jt_name":"帽子","jt_createtime":"2009-12-7 23:20:29"},{"jt_id":"1","jt_name":"麦兜","jt_createtime":"2009-12-7 15:01:40"}]
源码下载地址:asptojson.rar (65.48 KB)