Private Sub Command1_Click()
    Dim strmResults As New ADODB.Stream
    Dim cn As New ADODB.Connection
    Dim cmd As New ADODB.Command
    Dim cnstr As String
    cnstr = "Provider = SQLOLEDB.1;Password=121231;Persist Security Info=True;User ID=sa;Initial Catalog=zydb;Data Source=wzsswz"
    cn.ConnectionString = cnstr
    cn.Open
    Set cmd.ActiveConnection = cn
    cmd.CommandText = "select * from company for XML auto"
    strmResults.Open
    cmd.Properties("Output Stream").Value = strmResults
    cmd.Properties("xml root") = "root"
    cmd.Execute , , adExecuteStream
    strmResults.Position = 0
    strmResults.SaveToFile App.Path & "\outfile.xml"
    strmResults.Close
    Set strmResults = Nothing
End Sub

解决方案 »

  1.   

    这是sql7的用法
    2000的用select * from company for XML auto就可以了
    Option ExplicitDim conDB As New ADODB.ConnectionPrivate Sub cmdGetData_Click()
        ' Get inventory data
        Dim rsInventory As New ADODB.Recordset
        Dim stmInventory As New ADODB.Stream
        ' set db connection
        conDB.ConnectionString = ("Provider=SQLOLEDB.1;Server=Pinatubo;User ID=training; PWD=password;Initial Catalog=XMLTraining;")
        conDB.Open
        
        ' set recordset
        rsInventory.Open "tblInventory", conDB, adOpenDynamic, adLockOptimistic
        rsInventory.Save stmInventory, adPersistXML
        ' Save ADO XML to file
        stmInventory.SaveToFile App.Path & "\inventory.xml", adSaveCreateOverWrite
        ' dispaly xml file to UI
        wbXML.Navigate App.Path & "\inventory.xml"
        ' close database connection
        conDB.Close
    End SubPrivate Sub cmdGetDetail_Click()
        ' Get product detail
        Dim rsProductDetail As New ADODB.Recordset
        Dim stmProduct As New ADODB.Stream
        
        ' Set connection string
        conDB.ConnectionString = ("Provider=SQLOLEDB.1;Server=Pinatubo;User ID=training; PWD=password;Initial Catalog=XMLTraining;")
        conDB.Open
        
        ' set recordset
        rsProductDetail.Open "SELECT *, tblProductDetail.* FROM tblInventory INNER JOIN " & _
                             "tblProductDetail ON tblInventory.fldProductID = tblProductDetail." & _
                             "fldProductID", conDB, adOpenDynamic, adPersistXML
        rsProductDetail.Save stmProduct, adPersistXML
        
        ' Save ADO XML file to disk
        stmProduct.SaveToFile App.Path & "\ProductDetail.xml", adSaveCreateOverWrite
        ' Load xml document in UI
        wbXML.Navigate App.Path & "\ProductDetail.xml"
        ' Close database connection string
        conDB.Close
    End Sub
      

  2.   

    select * from table for xml auto