正文

xml与数据库的相互转换2007-03-29 15:52:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/sgpro/24390.html

分享到:

'说明:  把xml转换为数据库(dataset),  把数据库(dataset)转换为xml,  ' 用记录集rs构造DataTable '代码未经编译。 'Copyright (C) 2007-3 SGPRO Imports SystemImports System.IOImports System.XmlImports System.Data Class DB2XML '把数据库写入xml  Public Function DBToXML()    Dim objDbConn as new DbConnection  Dim strSql as string  Dim strTableName as string  Dim strXMLFile as string  Dim dsMain as DataSet  Dim dsRead as DataSet   StrSql = "SELECT * FROM A"  StrTableName = "A"  StrXMLFile = "db2xml.xml"   DbConnection.Open()  MakeDataTable(dsMain, objDbConn, strTableName,  strSql)     'Create Table,  From rs to Table   dsMain.WriteXml(strXMLFile, XmlWriteMode.IgnoreSchema)  ' DataSet写入xml End Function '构造DataTable Private Sub MakeDataTable(ByRef dsMain as DataSet, ByVal oraDb As OracleConnecion,ByVal strTable As String, _                                 Optional ByVal strInputSQL As String = Nothing, _                                 Optional ByVal bNewFileFlg As Boolean = False)             Dim rs As OracleDataRead            Dim dtCurrentTable As New Data.DataTable(strTable)            Dim drCurrentRow As Data.DataRow                 rs = oraDb.CreateDynasetstrInputSQL, &H4&)                                            If Not rs.EOF Then                     Dim fieldCount As Integer                    Dim strFieldName As String                     For fieldCount = 0 To rs.Fields.Count - 1                        strFieldName = rs.FieldName(fieldCount).ToString                        dtCurrentTable.Columns.Add(strFieldName)                    Next                    rs.MoveFirst()                    While Not rs.EOF                        drCurrentRow = dtCurrentTable.NewRow()                        'output tbl value                        For Cnt = 0 To rs.Fields.count - 1                            Dim strValue As String                                strValue = rs.Fields(Cnt).value                            drCurrentRow.Item(strFieldName) = strValue                                                    Next                        dtCurrentTable.Rows.Add(drCurrentRow)                        rs.MoveNext()                    End While                End If                dsMain.Tables.Add(dtCurrentTable)        End Sub       'xml转换成DataSet        Public Function ConVertXMLToDataSet(byVal strXMLFile as string) As DataSet            Dim doc As New XmlDocument            Try                    Dim dsRet New DataSet                    doc.Load(strXMLFile)                    Dim Xmlreader As XmlNodeReader = New XmlNodeReader(doc)                    dsRet.ReadXml(Xmlreader)                    ConVertXMLToDataTable = dsRet                 End If            Catch ex As Exception                      ConVertXMLToDataTable=nothing            End Try        End Function End Class

阅读(3734) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册