ADO.NET经过长时间的发展,很多用户都很了解ADO.NET了,这里我发表一下个人理解,和大家讨论讨论。ADO.NET数据库提供程序包含Connection、Command、DataAdapter和DataReader对象。在一般的ADO.NET编程中,首先要创建Connection对象,给它提供需要的信息,例如连接字符串。然后创建一个Command对象,给它提供要执行的SQL命令的细节。这个命令可以是内置的SQL文本命令、存储过程或对表的直接访问。如果需要,还可以为这些命令提供参数。

鸡东ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
#T#在创建Connection和Command对象后,就必须确定命令是否返回结果集。如果命令不返回结果集,就可以通过调用几个Execute方法之一,执行命令。另一方面,如果命令返回结果集,就必须确定是否要保留结果集,以备将来在不维持与数据库的连接的情况下使用。如果要保留结果集,就必须创建一个DataAdapter对象,用它填充DataSet或DataTable对象。这些对象可以在断开连接的模式下维护其中的信息。但是,如果不想保留结果集,只是要以快速方式执行命令,就可以使用Command对象创建DataReader对象。DataReader对象需要与数据库的实时连接,它是一个只向前的只读光标。下面我们来看一个关于使用ADO.NET异步查询的案例。
使用ADO.NET异步查询,并将查询结果呈现在指定的Form的DataGridView中
- Public Class Asynchronous
 - Private Delegate Sub MainInvoke(ByVal TableItems() As String, ByVal RowCount As Integer) '委托
 - Delegate Sub AsyncMethodCaller()
 - Public connstr As String
 - Public cmdstr As String
 - Public frm As Form ' 指定的form
 - Public dgv As DataGridView ' 指定的datagridview
 - Public statuscontrol As Control ' 显示状态的控件
 - Public message As String'状态提示文本
 - Private Sub CallbackHandler()
 - Using conn As New SqlConnection(connstr), cmd As New SqlCommand(cmdstr, conn)
 - conn.Open()
 - Using reader As SqlDataReader = cmd.ExecuteReader
 - Dim i As Integer
 - Dim items(dgv.Columns.Count - 1) As String
 - While reader.Read()
 - For j As Int32 = 0 To dgv.Columns.Count - 1
 - items(j) = reader(dgv.Columns(j).HeaderText)
 - Next
 - frm.Invoke(New MainInvoke(AddressOf Addrows), items, i)
 - i += 1
 - End While
 - End Using
 - conn.Close()
 - End Using
 - End Sub
 - Public Sub getdatabase()
 - Dim caller As New AsyncMethodCaller(AddressOf CallbackHandler)
 - Dim result As IAsyncResult = caller.BeginInvoke(AddressOf StopRead, caller)
 - End Sub
 - Private Sub Addrows(ByVal TableItems() As String, ByVal row As Integer) '添加新行,并显示处理进度
 - dgv.Rows.Add()
 - For i As Int32 = 0 To TableItems.Length - 1
 - dgv.Rows(row).Cells(i).Value = TableItems(i)
 - Next
 - If statuscontrol IsNot Nothing Then statuscontrol.Text = message & row
 - End Sub
 - Private Sub StopRead(ByVal ar As IAsyncResult)
 - Dim caller As AsyncMethodCaller = CType(ar.AsyncState, AsyncMethodCaller)
 - caller.EndInvoke(ar)
 - End Sub
 - End Class
 
ADO.NET异步查询使用方法:
- DataG.Columns.Add("编号", "编号")
 - DataG.Columns.Add("时间", "时间")
 - DataG.Columns.Add("用户名", "用户名")
 - Dim newselect As New Asynchronous
 - newselect.connstr = "SERVER=x;DATABASE=x;USER=x;PASSWORD=x;Asynchronous Processing=true"
 - newselect.cmdstr = "select * from log"
 - newselect.frm = Me
 - newselect.dgv = DataG
 - newselect.statuscontrol = Me
 - newselect.message = "数据检索中..."
 - newselect.getdatabase()
 
                分享名称:五分钟知道ADO.NET异步查询
                
                网页路径:http://www.csdahua.cn/qtweb/news30/206930.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网