新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> Oracle, SQL Server与XML,XML在数据挖掘中的应用, PMML.
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - 高级XML应用『 XML 与 数据库 』 → 数据库中的XML应用实例 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 5625 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 数据库中的XML应用实例 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     yibingzheng 帅哥哟,离线,有人找我吗?
      
      
      威望:5
      头衔:一兵征
      等级:研一(帮老板干活拿了2000元)
      文章:818
      积分:4280
      门派:XML.ORG.CN
      注册:2004/4/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给yibingzheng发送一个短消息 把yibingzheng加入好友 查看yibingzheng的个人资料 搜索yibingzheng在『 XML 与 数据库 』的所有贴子 访问yibingzheng的主页 引用回复这个贴子 回复这个贴子 查看yibingzheng的博客楼主
    发贴心情 数据库中的XML应用实例

    我们在该例中介绍如何实现数据库和XML结合。您将可以看到,该例中实现对一般的关系数据库进行查询等操作,并将结果输出到通用的XML。例中还示范结合采用XSL规范XML的格式,用HTTP和ASP进行网络的通信和处理。您可以在此基础上进行许多扩充的开发,特别是服务器/客户端架构的Web应用。


    下面我们来详细说明该实例及使用方法:

    (1)准备工作


    打开控制面板,将Northwind.mdb数据库添加至您的用户数据源(DNS)并命名为"nwind";
    process.asp放在服务器端,第4部分中要用到该文件处理HTTP请求;
    用Visual Basic 6.0打开test.vbp项目,引用MS XML Version2.0库。


    (2)定义的变量

    Dim con As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim xmlstr As String
    Dim xmldoc As MSXML.DOMDocument
    Dim xmlhttp As MSXML.XMLHTTPRequest
    Dim xsldoc As MSXML.DOMDocument
    Dim message As MSXML.DOMDocument
    Dim query As String


    (3)初始化
    函数init(),在Form_Load()中调用

    '建立和打开ADODB与ODBC的数据连接
    Set con = New ADODB.Connection
    con.ConnectionString = "DSN=nwind;UID=sa;PWD=;"
    con.Open


    '建立XML 文档对象(XML Document Objects)
    Set xmldoc = New MSXML.DOMDocument
    Set xsldoc = New MSXML.DOMDocument
    Set message = New MSXML.DOMDocument


    (4)实现查询和输出:
    在Command1_Click函数中实现


    '查询数据库
    query = "Select * FROM Customers WHERE CustomerID = '" & Text1.Text & "'"
    Set rs = con.Execute(query)


    '将查询的结果存储到XML文件
    On Error Resume Next
    Kill ("recordset.xml")
    rs.Save "recordset.xml", adPersistXML
    xmldoc.async = False
    xmldoc.Load ("recordset.xml")


    '执行对子树的查询,实际上是滤除其它Schema定义的部分, 提取出满足查询结果的纯数据
    MsgBox xmldoc.selectSingleNode("//z:row").xml


    '载入样式表(stylesheet)并将XML规格化
    xsldoc.async = False
    xsldoc.Load ("standard.xsl")
    xmldoc.transformNodeToObject xsldoc, message


    '将XML发送给服务器进行处理
    Set xmlhttp = New MSXML.XMLHTTPRequest
    xmlhttp.Open "POST", "http://icds/process.asp", False ‘要根据process.asp的位置指定好第2项参数
    xmlhttp.send message


    (5)使用应用程序
    按F5执行该程序,在上面的文本框中输入查询的顾客的ID, 按下面的”处理顾客信息”执行查询并输出结果。


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    如果我不为自己打算,那么谁为我打算。如果我只为自己打算,那么我又算什么。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/10/18 11:33:00
     
     阳光不老 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(C++考了100分!)
      文章:37
      积分:384
      门派:XML.ORG.CN
      注册:2004/10/18

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给阳光不老发送一个短消息 把阳光不老加入好友 查看阳光不老的个人资料 搜索阳光不老在『 XML 与 数据库 』的所有贴子 访问阳光不老的主页 引用回复这个贴子 回复这个贴子 查看阳光不老的博客2
    发贴心情 
    恩,不如写成.vbs

    ----------------------------------------------
    规矩网络 Refree.Cn 打造中国顶级的资源重组网站!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/10/20 14:57:00
     
     lentty 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:1
      积分:58
      门派:XML.ORG.CN
      注册:2004/11/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lentty发送一个短消息 把lentty加入好友 查看lentty的个人资料 搜索lentty在『 XML 与 数据库 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lentty的博客3
    发贴心情 
    我这样在VB里使用,居然会因为不同的SQL语句,Save成空字符串,有高手能指点么?
    Public Function GetPrtInfo(PolID As Variant, PolSeq As Variant, PrtFlag As Variant) As String
    Dim sql As String
    Dim xDom As New DOMDocument
    Dim rs1 As New Recordset
    'On Error Resume Next
    sql = "select * from printinfo" ' where policyid='" & PolID & "' and AutoPrtFlag='" & PrtFlag & "' order by ChgDate "
    rs1.Open sql, conn, adOpenKeyset, adLockReadOnly, -1
    rs1.Save xDom, adPersistXML
    If Err.Number = 0 Then
        GetPrtInfo = xDom.xml
    Else
        GetPrtInfo = ""
        Call WriteToLog("GetPrtInfo", PolID & "," & PolSeq & "," & PrtFlag, Err.Description)
    End If
    rs1.Close
    Set rs1 = Nothing
    Set xDom = Nothing
    End Function
    我这样写了一年多,从来没有遇到过这样的怪问题
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/11/16 13:21:00
     
     lentty 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:1
      积分:58
      门派:XML.ORG.CN
      注册:2004/11/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lentty发送一个短消息 把lentty加入好友 查看lentty的个人资料 搜索lentty在『 XML 与 数据库 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lentty的博客4
    发贴心情 
    我的SQL语句肯定都没有问题的,都运行成功地
    555555555,这会儿居然没人在
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/11/16 13:29:00
     
     xmzhy 帅哥哟,离线,有人找我吗?狮子座1978-8-18
      
      
      威望:5
      等级:计算机学士学位
      文章:385
      积分:2003
      门派:XML.ORG.CN
      注册:2003/10/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给xmzhy发送一个短消息 把xmzhy加入好友 查看xmzhy的个人资料 搜索xmzhy在『 XML 与 数据库 』的所有贴子 引用回复这个贴子 回复这个贴子 查看xmzhy的博客5
    发贴心情 
    能否写成类?conn关联有问题吗?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/11/25 16:45:00
     
     布克 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(汇编考了97分!)
      文章:43
      积分:388
      门派:XML.ORG.CN
      注册:2004/12/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给布克发送一个短消息 把布克加入好友 查看布克的个人资料 搜索布克在『 XML 与 数据库 』的所有贴子 引用回复这个贴子 回复这个贴子 查看布克的博客6
    发贴心情 
    要是用 DataAnyWhere(xml) Bridge 几分钟就搞定啦,可以同时操作几个数据库呢!
    用 DataAnyWhere(xml) Tools 还可以生成 java 代码。
    去 http:///www.daw-xml.com 看看!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/12/17 0:29:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML 与 数据库 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/6/3 14:26:59

    本主题贴数6,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    85.938ms