DataReader对象允许你以向前的,只读的方式逐条读取数据,有时候DataReader对象也称为消软管游标。DataReader对象采用了一种简化的数据读取方式,但是提高了性能的同时也牺牲了很多特性。例如在DataSet中支持的排序等。由于此对象只有在一些特别注重性能的场合才会需要用到它,在日常的开发过程中使用它的时候也并不多,所以我们并不打算多做介绍。一般的用户可以跳过此部分介绍。
ExecuteDataReader为执行查询语句,返回DbDataReader,当读取数据结束时,一定得记得关闭DbDataReader对象。DbDataReader对象其实是所有数据库驱动DataReader对象的基类,而我们这里返回的DbDataReader就是相应数据库的DataReader对象。比如SQLite数据库返回的是SQLiteDataReader,而SQLServer数据库返回的就是SqlDataReader对象。
语法为:
ExecuteDataReader(SQLString,FillSchema,UseIndependenceConnection)
ExecuteDataReader(SQLString,cmdtype,sqlParms,FillSchema,UseIndependenceConnection)
参数名称 | 说明 | |
SQLString | 字符串类型,必填,Sql语句。 | |
cmdtype |
必填参数,CommandType枚举值之一,指定SQL语句的命令类型。CommandType型枚举包括以下可选值:
| |
sqlParms | 可选参数,sql语句中使用的参数对象。支持字典Dictionary(string,object)、IEnumerable(DbParameter)、匿名对象。默认为空, | |
FillSchema |
可选参数,逻辑型,表示是否填充表结构。如果是基础数据表,表中有主键的话,填充表结构可以方便我们用Save方法直接保存数据修改。如果表中没有主键,或者SQL命令填充的是视图,则此参数只能填充为False。默认值为False。 | |
UseIndependenceConnection | 可选参数,逻辑型,是否使用独立连接处理。如果在一个事务中使用此方法,请传入False。正常情况下单独使用时直接传入True即可。默认值为True. |