数据库开发016ExecuteReader方法

SqlCommand 类

https://docs.microsoft.com/zh-cn/dotnet/api/system.data.sqlclient.sqlcommand?view=dotnet-plat-ext-3.1

构造函数

 
SqlCommand()

初始化 SqlCommand 类的新实例。

SqlCommand(String)

使用查询的文本初始化 SqlCommand 类的新实例。

SqlCommand(String, SqlConnection)

使用查询的文本和 SqlConnection 初始化 SqlCommand 类的新实例。

SqlCommand(String, SqlConnection, SqlTransaction)

使用查询文本、SqlConnection 以及 SqlTransaction 初始化 SqlCommand 类的新实例。

属性

 
CommandText

获取或设置要在数据源中执行的 Transact-SQL 语句、表名或存储过程。

CommandTimeout

获取或设置在终止尝试执行命令并生成错误之前的等待时间(以秒为单位)。

CommandType

获取或设置一个值,该值指示解释 CommandText 属性的方式。

Connection

获取或设置 SqlCommand 的此实例使用的 SqlConnection

DbConnection

当在派生类中重写时,获取或设置此 DbConnection 使用的 DbCommand

(继承自 DbCommand)
DbParameterCollection

在派生类中重写时,获取 DbParameter 对象的集合。

(继承自 DbCommand)
DbTransaction

当在派生类中重写时,获取或设置执行 DbTransaction 对象时所在的 DbCommand

(继承自 DbCommand)
Parameters

获取 SqlParameterCollection

Transaction

获取或设置要在其中执行 SqlTransaction 的 SqlCommand

UpdatedRowSource

获取或设置命令结果在由 DbDataAdapter 的 Update 方法使用时应用于 DataRow 的方式。

方法 

BeginExecuteNonQuery启动此 SqlCommand描述的 Transact-sql 语句或存储过程的异步执行,通常执行 INSERT、DELETE、UPDATE 和 SET 语句等命令。 对 BeginExecuteNonQuery 的每个调用必须与完成操作的 EndExecuteNonQuery 配对,通常在单独的线程上完成。
BeginExecuteReader启动此 SqlCommand 描述的 Transact-sql 语句或存储过程的异步执行,并从服务器中检索一个或多个结果集。 对 BeginExecuteReader 的每个调用必须与完成操作的 EndExecuteReader 配对,通常在单独的线程上完成。
BeginExecuteXmlReader启动此 SqlCommand 描述的 Transact-SQL 语句或存储过程的异步执行。 对 BeginExecuteXmlReader 的每个调用都必须与对 EndExecuteXmlReader的调用配对,后者通常在单独的线程上完成操作,并返回 XmlReader 对象。
ExecuteReader执行返回行的命令。 为了提高性能,ExecuteReader 使用 Transact-sql sp_executesql 系统存储过程来调用命令。 因此,ExecuteReader 可能不会产生所需的效果,因为用于执行 Transact-sql SET 语句等命令。
ExecuteNonQuery执行 Transact-sql INSERT、DELETE、UPDATE 和 SET 语句等命令。
ExecuteScalar从数据库中检索单个值(例如聚合值)。
ExecuteXmlReader将 CommandText 发送到 Connection,并生成一个 XmlReader 对象。

Imports System.Data.SqlClient
Public Class Form1
    Dim conn As SqlConnection
    Dim da As SqlDataAdapter
    Dim ds As DataSet
    Private Function GetConnection() As SqlConnection
        Return New SqlConnection(My.Settings.SalesConnectionString)
    End Function

    Private Sub displayData1(ByVal str As String)
        conn = GetConnection()
        conn.Open()
        Dim comm As New SqlCommand(str, conn)

        Dim dr As SqlDataReader
        dr = comm.ExecuteReader
        Dim dt As New DataTable
        dt.Load(dr)

        DataGridView1.DataSource = dt
        conn.Close()
    End Sub

    Private Sub displayData2(ByVal str As String)
        conn = GetConnection()
        conn.Open()
        Dim comm As New SqlCommand(str, conn)

        Dim dr As SqlDataReader
        dr = comm.ExecuteReader
        '区别在这里
        Dim bs As New BindingSource
        bs.DataSource = dr

        DataGridView1.DataSource = bs

        conn.Close()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        '可以输入:select * from grade where 姓名 like '%张%'
        displayData2(TextBox1.Text)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        displayData1("Select * from grade")
    End Sub

End Class

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ngbshzhn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值