• DataReader


    [摘抄]
    DataReader对象

    The DataReader Object

    DataSet的一个替代品就是DataReader对象。DataReader提供了一种连接着数据库、只能向前的记录访问方式,它可以执行SQL语句或者存储过程。DataReader是理想的给网页提供只读数据的轻量级对象,例如填充列表,然后断开与后台数据库的连接。

    所有DataReader的基础类是DbDataReader,它位于System.Data.Common命名空间中。

    从DbDataReader派生而来的类是DataTableReader、OdbcDataReader、OleDbDa- taReader、OracleDataReader、SqlDataReader和SqlCeDataReader。

    DbDataReader类有一些用于获得数据信息的属性,例如,FieldCount和HasRows属性。我们最感兴趣的是Item属性,它会返回一个包含行的指定列值的对象。在C#中,Item属性是该类的索引器。

    DbDataReader类有许多用于提取数据的方法,它们是通过遍历这个读取器实现的,例如GetBytes、GetData、GetName和GetString。其他重要方法在表10-8中列出。

    表10-8  重要的DbDataReader方法

    方法名

    返回类型

    说  明

    Close

    void

    关闭数据读取器。已重载

    NextResult

    Boolean

    当读取批量的SQL语句的结果时,前进到下一个结果集(记录集)如果有更多的结果集,将返回true。有重载

    Read

    Boolean

    前进到下一条记录。如果有更多的记录,将返回true

    DataReader是一个很强大的对象,但是有许多方法和属性不会经常使用。大多数时候,使用DataReader来获得和遍历查询结果中的记录。


    相关代码:
    If dtr.Read Then
        Me.UserName = Normal.HStr(dtr("UserName"))
        Me._LoginName = Normal.HStr(dtr("LoginName"))
        Me.Department_Id = Normal.HStr(dtr("Department_Id"))
        Me.Remark = Normal.HStr(dtr("Remark"))
        Me.Unit = dtr("Unit")
        _Db.CloseDB()
        Return True
    Else
        _Db.CloseDB()
        Return False
    End If



    Imports System
    Imports System.Data
    Imports System.Data.SqlClient
    Imports Microsoft.VisualBasic
    Public Class DataReaderSample
    Public Shared Sub Main()
        Dim sqlConn As SqlConnection = New SqlConnection("data source=DBServer;initial catalog=Northwind;persist security info=True;user id=sa")
       Dim sqlCmd As SqlCommand = sqlConn.CreateCommand()
       sqlCmd.CommandText = "SELECT EmployeeID, LastName , FirstName FROM Employees"
       sqlConn.Open()
       Dim sqlReader As SqlDataReader = sqlCmd.ExecuteReader()
       Dim intFor As Int32
       For intFor = 0 To sqlReader.FieldCount - 1
       Console.Write(String.Format("{0,-20:G}", sqlReader.GetName(intFor)))
       Next
       Console.WriteLine()
       Do While sqlReader.Read()
       Console.WriteLine(String.Format("{0,-20:G}{1,-20:G}{2,-20:G}", sqlReader.GetInt32(0), sqlReader.GetString(1), sqlReader.GetString(2)))
       Loop
       sqlReader.Close()
       sqlConn.Close()
       Console.Read()
       End Sub
    End Class

  • 相关阅读:
    拯救者R720安装Ubuntu之后无法连接无线网络
    centos源码安装mysql5.7.25-boost
    mysql的报错
    Nginx配置文档
    centos6.5删除/boot后恢复
    Spring Boot 初体验(11)添加JSP支持
    Spring Boot 初体验(10)使用使用freemarker
    Spring Boot 初体验(9)使用thymeleaf
    Spring Boot 初体验(8)配置server信息
    Spring Boot 初体验(7)全局异常捕捉
  • 原文地址:https://www.cnblogs.com/liangyi/p/976553.html
Copyright © 2020-2023  润新知