欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库开发016ExecuteReader方法

程序员文章站 2022-05-07 14:36:20
...

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 对象。

数据库开发016ExecuteReader方法

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

 

相关标签: 数据库开发