当前位置: 首页 > article >正文

数据库开发019 DataReader对象

    DataReader对象提供单向只读数据,只能依次读取数据,DataSet中的数据可以任意读取和修改。DataReader对象有一个很重要的方法Read,它是个布尔值,作用是读取下一条数据,当布尔值为真时执行,为假时退出。
    DataReader从数据库当中检索只读的数据流,存储在客户端的网络缓冲区当中。在内存当中只存储一行,具有开销小、速度快的特点。由于数据不在内存中缓存,所以在检索大量数据时,DataReader是一种较好的选择。DataReader只能通过Command对象ExecuteReader()方法来创建,不能实例化。
    DataReader具有独占性,如果在已经打开DataReader的情况下,将不能对Connection进行任何操作,必须在用完时调用Close()方法关闭。通过Command对象返回多个结果集,并且通过DataReader对象NextResult()方法来使用。
    DataReader对象通过Command对象的ExecuteReader()方法创建,读取DataReader对象的数据有两种方法:通过和ataGridView等数据控件绑定,直接输出;利用循环将数据取出.

Imports System.Data.SqlClient
Public Class Form1Dim conn As SqlConnectionDim da As SqlDataAdapterDim ds As DataSetPrivate Function GetConnection() As SqlConnectionReturn New SqlConnection(My.Settings.SalesConnectionString)End FunctionPrivate Sub DisplayData(ByVal str As String)DataGridView1.DataSource = Nothingconn = GetConnection()conn.Open()Dim comm As New SqlCommand(str, conn)Dim dr As SqlDataReader = comm.ExecuteReaderDim dt As New DataTabledt.Load(dr)conn.Close()DataGridView1.DataSource = dtEnd SubPrivate Sub DataReaderData()conn = GetConnection()conn.Open()Dim comm As New SqlCommand(TextBox1.Text, conn)Dim dr As SqlDataReaderdr = comm.ExecuteReaderDim strOutput As String = ""TryWhile dr.ReadstrOutput += dr("学号").ToString.PadLeft(10) + Space(5)strOutput += dr("姓名").ToString.PadLeft(10) + Space(5)strOutput += dr("语文").ToString.PadLeft(10) + Space(5)strOutput += dr("数学").ToString.PadLeft(10) + Space(5)strOutput += dr("英语").ToString.PadLeft(10) + Space(5)strOutput += vbCrLfEnd WhileCatch ex As ExceptionMsgBox("出现异常")Finallydr.Close()conn.Close()End TryLabel2.Text = strOutputEnd SubPrivate Sub UpdateData()conn = GetConnection()conn.Open()Dim comm As New SqlCommandDim trans As SqlTransactiontrans = conn.BeginTransactioncomm.Connection = conncomm.Transaction = transTrycomm.CommandText = "Update grade set 数学=95 Where 姓名 like '%周%'"comm.ExecuteNonQuery()comm.CommandText = "Update grade set 数学=65 Where 姓名 like '%张%'"comm.ExecuteNonQuery()trans.Commit()Label1.Text = "事务运行成功"Catch ex As Exceptiontrans.Rollback()Label1.Text = "有错"Finallyconn.Close()End TryEnd SubPrivate Sub InsertRecord()'conn = GetConnection()'conn.Open()'Dim strSql As String = "Insert into grade(学号,姓名,语文,数学,英语) " & _'"Values('" & txtId.Text & "','" & txtName.Text & "','" & _'txtChinese.Text & "','" & txtMaths.Text & "','" & txtEnglish.Text & "')"'Dim comm As New SqlCommand(strSql, conn)'comm.ExecuteNonQuery()'conn.Close()End SubPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadDisplayData("select * from grade")TextBox1.Text = "select * from grade"End SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDataReaderData()End Sub
End Class

 

http://www.lryc.cn/news/2419062.html

相关文章:

  • 数字图像处理(冈萨雷斯 第三版)
  • 数据通信与计算机网络
  • GJM : 数据结构 - 轻松看懂机器学习十大常用算法 [转载]
  • 虚拟机的几种网络连接方式
  • e1000网络驱动分析
  • Bugku杂项题目解析
  • Win7桌面显示计算机(我的电脑)图标
  • 操作系统0x08-内存管理概念
  • 农夫安全-安全网站导航 farmsec
  • 全球免费公共DNS服务器IP地址大全(包含IPv6)
  • 通过基因组选择预测杂交水稻的表现(数据挖掘)
  • Linux操作系统之文件系统详解
  • 完全从零Java自学系列【入门篇】(第一课:环境搭建工具安装与初入编程【初识工程JAVA文件语法变量判断循环】)
  • jpa 托管_JPA EntityManager详解(一)
  • OpenSSL安全漏洞与编程实践
  • Php168代码执行漏洞,Vulnhub-ThinkPHP 2.x 任意代码执行漏洞
  • 【转载】10个IT技术论坛
  • 高质量的子程序1
  • NXP JN5169使用代码模板新建外设工程
  • C# 反射(二)操作属性PropertyInfo
  • 基于 Chromium 的第三方浏览器一览
  • Android Kotlin 模块化清洁架构项目指南
  • sptd.sys不是病毒?
  • 网络工程专业主要要学习什么知识呢?
  • PropertyGrid控件由浅入深(二):基础用法
  • 《三国志14》运行提示kbdlt.dll丢失问题的详解解决策略
  • MyBatis foreach语句批量插入数据
  • 正则表达式之grep
  • spring学习之---spring整合Hibernate
  • IIS配置优化