'创建连接对象.
Set conn=Server.CreateObject("Adodb.Connection")
'这里用字符串方法连接数据库.
'"Provider=Microsoft.Jet.OLEDB.4.0; 这个是数据库驱动.
'Data Source="Server.MapPath("Data.mdb") 数据库文件的相对路径.
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("Data.mdb")
'创建记录集对象.
Set rs=Server.CreateObject("Adodb.RecordSet")
'查询数据库的sql语句.
sqlcom="select * from post"
'执行sql语句.
'1,1 只读.
'1,3 可读可写.
rs.Open sqlcom,conn,1,1
'重定义数组.
'rs.RecordCount 记录集中总的记录数.
Redim post_arr(rs.RecordCount)
'用for语句将post表中的数据循环出来.
'Ubound数组的最大上标.
for i=1 to Ubound(post_arr)
'将post表中的postName字段中的值存入数组post_arr.
post_arr(i)=rs("postName")
'移到下一条数据.
rs.MoveNext
Next
'这里用了嵌套for语句,
'第一个for j是将post_arr数组中的数据读出来.也就是post表中的数据.
'第二个for k是将user表中的数据读出来.
'用for语句将post_arr数组中的数据循环出来.
for j=1 to Ubound(post_arr)
'关闭记录集.
rs.Close
'查询数据库的sql语句.
'根据post_arr(j)数组中的值为条件来重复执行sql语句.
'user是SQL中的关键字.要用[]中括号括起来.
sqlcom="select * from [user] where post='"&post_arr(j)&"'"
'执行sql语句.
rs.Open sqlcom,conn,1,1
'输出XML节点.
Response.Write("<Post post='"&post_arr(j)&"'>")
'用for语句将user表中的数据循环出来.
for k=1 to rs.RecordCount
'输出XML节点.
Response.Write("<UserData username='"&rs("username")&"' password='"&rs("password")&"' />")
'移到下一条数据.