zoukankan      html  css  js  c++  java
  • 將DataReader轉換成DataSet

    <%@ Import Namespace="System.Data" %>
    <%@ Import NameSpace="System.Data.OleDb" %>
    <html>
    <head runat=server>
    <script language="VB" runat="Server">
    Function convertDataReaderToDataSet(objReader As OleDbDataReader, name As StringAs DataSet
       
    Dim dataSet = New DataSet()
       
    Dim i As Integer
       
    Dim dataRow As DataRow
       
    Dim column As DataColumn
       
    Dim columnName As String
       
    Dim schemaTable As DataTable = objReader.GetSchemaTable()
       
    Dim dataTable As DataTable = New DataTable(name)
       
    ' 建立DataTable的欄位名稱與資料型態
       For i = 0 To schemaTable.Rows.Count - 1
          dataRow 
    = schemaTable.Rows(i)
          
    ' 取得欄位名稱
          columnName = dataRow("ColumnName")
          
    ' 新增到DataTable物件
          column = New DataColumn(columnName, dataRow("DataType"))
          dataTable.Columns.Add(column) 
    ' 新增欄位
       Next 
       dataSet.Tables.Add(dataTable)  
    ' 新增到DataSet物件
       ' 將DataReader的記錄資料填入DataTable
       While objReader.Read()
          dataRow 
    = dataTable.NewRow()
          
    For i = 0 To objReader.FieldCount - 1
             dataRow(i) 
    = objReader.Item(i)
          
    Next
          dataTable.Rows.Add(dataRow)
          dataTable.AcceptChanges()  
    ' 更改DataSet物件
       End While             
       
    Return dataSet
    End Function
    </script>
    </head>
    <body>
    <%
    Dim objCon As OleDbConnection
    Dim objCmd As OleDbCommand
    Dim objDataReader As OleDbDataReader
    Dim objDataSet As DataSet
    Dim objColumn As DataColumn
    Dim objRow As DataRow
    Dim i As Integer
    ' OLEDB提供者字串
    Dim strDbCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
                   Server.Mappath(
    "Users.mdb"
    ' 建立Connection物件
    objCon = New OleDbConnection(strDbCon)
    objCon.Open() 
    ' 開啟資料庫連結
    '
     建立Command物件的SQL指令
    objCmd = New OleDbCommand("SELECT * FROM Users", objCon)
    ' 取得DataReader物件
    objDataReader = objCmd.ExecuteReader()
    ' 將DataReader轉換成DataSet
    objDataSet = convertDataReaderToDataSet(objDataReader, "Users")
    ' 顯示DataSet的記錄資料
    Response.Write("<table border=1>")
    Response.Write(
    "<tr>")
    For Each objColumn in objDataSet.Tables("Users").Columns
      Response.Write(
    "<td><b>" & objColumn.ColumnName & "</b></td>")
    Next
    Response.Write(
    "</tr>")
    For Each objRow In objDataSet.Tables("Users").Rows
      Response.Write(
    "<tr>")
      
    For Each objColumn In objDataSet.Tables("Users").Columns
        
    If objRow.IsNull(objColumn) = False Then
          Response.Write(
    "<td>" & objRow.Item(objColumn).toString() & "</td>")
        
    Else
          Response.Write(
    "<td>---</td>")
        
    End If
      
    Next
      Response.Write(
    "</tr>")
    Next
    Response.Write(
    "</table>")
    objDataReader.Close() 
    ' 關閉DataReader
    objCon.Close()        ' 關閉資料庫連結
    %>
    </body>
    </html>

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    转载:SqlServer数据库性能优化详解
    复杂事件处理技术概览(一)
    Netty : writeAndFlush的线程安全及并发问题
    如何在RCP程序中添加一个banner栏
    AChecker + Selenium2对需要登录的页面进行自动化可访问性测试
    5分钟开启Esper之旅
    使SWT/JFace支持跨平台
    Ubuntu上Docker安装Trouble Shooting
    使Docker Container支持运行SWT程序
    Xcode5中如何切换Storyboards为xib
  • 原文地址:https://www.cnblogs.com/Athrun/p/1549830.html
Copyright © 2011-2022 走看看