给个例子,谢谢

解决方案 »

  1.   

    Private Sub Form_Load()
    Dim re As ADODB.Recordset
    Dim cn As String
    cn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs"
    Set re = New ADODB.Recordset
    re.Open "select * from authors", cn, 3, 3
     re.Save App.Path & "\aa.xml", adPersistXML
     re.Close
    End Sub
      

  2.   

    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Private Sub Command1_Click()
        rs.CursorLocation = adUseClient
        rs.Open "Select * from students", cn, adOpenStatic, adLockBatchOptimistic
        MsgBox rs.RecordCount
        '保存为XML
        rs.Save "c:\bbb.xml", adPersistXML
        rs.Close
        '读取XML文件
        rs.Open "c:\bbb.xml", cn, adOpenStatic, adLockReadOnly, adCmdFile
        MsgBox rs.RecordCount
        rs.Close
    End SubPrivate Sub Form_Load()
        If cn.State = 1 Then
            cn.Close
        End If
        cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\db1.mdb"
    End Sub
      

  3.   

    我是这样写的,但是出了个问题,有一个长整形数组,存放的是表中的ID值,存为xml文件的代码如下
    For i = LBound(CaseIDs) To UBound(CaseIDs)
       sql = "select * from asa_evaluation where patient_case_id='" & CaseIDs(i) & "'"
       Set rs = cn.Execute(sql)
       If Not rs.EOF Then
          rs.Save App.Path & "\aaa.xml", adPersistXML
       End If
            
    Next在表中有image类型数据,而且还报文件已存在的错误,我该怎么个改法呀。
      

  4.   

    使用      rs.Save App.Path & "\aaa.xml", adPersistXML
    方法前需要查找下文件是否已经存在。
    可改为:if dir(App.Path & "\aaa.xml")<>"" then kill App.Path & "\aaa.xml"
    rs.Save App.Path & "\aaa.xml", adPersistXML
    不过再使用上述语句时,如果是App.path为根目录下,就不需要加“\"了。
      

  5.   

    可是这样的话,达不到要求,我要根据一个ID值导出十几个表中和这个ID值相等的数据,并且每次都有大批量的ID值,即存在上面的代码CaseIDs数组中的, 所以我不知道该怎样写的,我上面只是先写一个表来测试这样做是否正确而已
      

  6.   

    保存的时候,用变量
    rs.Save App.Path & "\aaa" & i  & ".xml", adPersistXML
      

  7.   

    我要把这十多个表中所有ID值和数组中取出来的ID值相等的数据都导出来,要求是导在一个XML文件里面,而且是大批量的ID值,即一个ID值涉及十多个表,有多个ID值,然后这些数据都导到一个XML文件里面
      

  8.   

    那你只有自己写了比如
    Dim strXMLDim fmstrXML = "<xml>"rs1.MoveFirstDo While Not rs1.EOFstrXML = strXML & "<row>"For Each fm In rs1.FieldsstrXML = strXML & "<" & fm.name & ">" & fm.Value & "</" & fm.name & ">"NextstrXML = strXML & "</row>"rs1.MoveNextLoopstrXML = strXML & "</xml>"
      

  9.   

    我在VB中实现 将数据库记录转换成 XML文件,代码入如下:
    Private Sub Command1_Click()
        Dim cn
        Set cn = CreateObject("adodb.connection")
        cn.open "ECCSDB", "ECCSDB", "ECCSDB"
       
        Dim sql
        sql = "SELECT * FROM ECCS_AGENT ORDER BY AGENTID"    Set rs = CreateObject("adodb.recordset")        'rs.CursorLocation = adUseClient 该行编译通不过
        rs.open sql, cn, 3, 3
       
        '写XML
        If Dir("E:\bbb.xml") <> "" Then Kill "E:\bbb.xml"
        
        rs.Save "E:\bbb.xml", adPersistXML
        MsgBox rs.RecordCount 该行 打出来的值为 -1    rs.Close
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
    End Sub以上代码保存文件后是乱码,其实数据库中是有值的。还有我现在是在VB环境中测试,但是实际环境设计要在VBScript脚本中执行