ADO.NET 基础教程(一)

网络上的ADO.NET教程在都不是基于VS2003的,我在此把以前初学的时候的一些代码共享给大家,让还在摸索阶段的朋友能学得顺利一点儿

一、数据查询

1、DataReader只读向前的数据集
        Dim cn As New SqlClient.SqlConnection
        cn.ConnectionString = "server=develop;uid=sa;pwd=hz0222;database=crm2004"
        cn.Open()
        Dim cmd As New SqlClient.SqlCommand
        cmd.Connection = cn
        Dim i As Integer
        cmd.CommandText = "SELECT * FROM TABLE1"
        Dim dr As SqlClient.SqlDataReader
        dr = cmd.ExecuteReader
        i = 0
        Do While dr.Read()
            fp1.Sheets(0).Cells(i, 0).Text = dr("id")
            fp1.Sheets(0).Cells(i, 1).Text = dr("FName")
            fp1.Sheets(0).Cells(i, 2).Text = dr("FAge")
            fp1.Sheets(0).Cells(i, 3).Text = dr("FAdd")
            i += 1
        Loop

在这个例子中,首先申明一个SqlConnection对象,用它来连接SQL SERVER数据库,然后再申请一个SqlCommand对象,用它来执行一个SQL查询语句,最后申明一个SqlDataReader,用它来存放由SqlCommand对象的ExecuteReader方法返回的数据集

用DataReader听说很快,我没有做过测试,但网上面说得有任有据的,我也就用来查询数据了。上面的这个例子是用来查询一个表中所有的数据,并把它们放到一个数据控件中去,用的是VB的代码,C#大至差不多

2、DataSet数据集

Dataset可以管理多个记得集:DataTable,也就是ADO的RecordSet对象,请看下面这个例子:

'绑定数据
    Private Sub BindData()
        '申请一个连接串对象
        Dim cn As New SqlClient.SqlConnection
        '初始化连接串
        cn.ConnectionString = "server=localhost;uid=sa;pwd=hz0222;database=CRM2004"
        '打开连接串
        cn.Open()

        '申明一个数据适配器
        Dim da As New SqlClient.SqlDataAdapter("SELECT * FROM t_cst_info", cn)
        '申明一个数据集(可以包含表)
        Dim ds As New DataSet
        '填充数据表
        da.Fill(ds, "t_cst_info")
        ds.Tables(0).TableName = "客户档案表"
        da.SelectCommand = New SqlClient.SqlCommand("SELECT * FROM T_base_zygl", cn)
        da.Fill(ds, "T_base_zygl")
        ds.Tables(1).TableName = "职员档案表"
        da.SelectCommand = New SqlClient.SqlCommand("SELECT * FROM t_base_bmqk", cn)
        da.Fill(ds, "t_base_bmqk")
        ds.Tables(2).TableName = "部门情况表"
        '绑定到DataGrid
        Me.DataGrid1.DataSource = ds
    End Sub

这个代码和上面的差不多,只是用了SqlDataAdapter来代替了SqlCommand执行SQL查询,SqlDataAdapter用微软件的话说是“数据适配器”,我现在知道的功能就是用执行Sql查询,并填充到Dataset或DataTable对象中去。上面的例子中我们填充了三个DataTable

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ADO组件的使用需要利用支持COM的高级语言,例如ASP中的VBScript或者Visual Basic,甚至Delphi,微软的竞争对手Borland的一个产品,现在也支持使用ADO来访问数据库。   在新的编程框架.NET Framework中, 微软也提供了一个面向Internet的版本的ADO,称为ADO.NET。其对象模型和传统ADO差别很大。 ADO是一种面向对象的编程接口,微软介绍说,与其同IBM和Oracle提倡的那样,创建一个统一数据库,不如提供一个能够访问不同数据库的统一接口,这样会更加实用一些。为实现这一目标,微软在数据库和微软的OLE DB中提供了一种“桥”程序,这种程序能够提供对数据库的连接。 开发人员在使用ADO时,其实就是在使用OLE DB,不过OLE DB更加接近底层。ADO的一项属性远程数据服务,支持“数据仓库”ActiveX 组件以及高效的客户端缓存。作为ActiveX的一部分,ADO也是COM组件的一部分。ADO是由早期的微软数据接口??远程数据对象RDO演化而来的。RDO同微软的ODBC一同连接关系数据库,不过不能连接非关系数据库。   ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation封装接口。对那些熟悉RDO的程序员来说,你可以把OLE DB比作是ODBC驱动程序。如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLE DB的接口;如同不同的数据库系统需要它们自己的ODBC驱动程序一样,不同的数据源要求它们自己的OLE DB提供者(OLE DB provider)。目前,虽然OLE DB提供者比较少,但微软正积极推广该技术,并打算用OLE DB取代ODBC。   ADO向VB程序员提供了很多好处。包括易于使用,熟悉的界面,高速度以及较低的内存占用(已实现ADO2.0的Msado15.dll需要占用342K内存,比RDO的Msrdo20.dll的368K略小,大约是DAO3.5的Dao350.dll所占内存的60%)。同传统的数据对象层次(DAO和RDO)不同,ADO可以独立创建。因此你可以只创建一个"Connection"对象,但是可以有多个,独立的"Recordset"对象来使用它。ADO针对客户/服务器以及WEB应用程序作了优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值