ADO.NET基础教程(一)

- 中国WEB开发者网络 (http://www.webasp.net)
-- 技术教程 (http://www.webasp.net/article/)
--- ADO.NET基础教程(一) (http://www.webasp.net/article/28/27498.htm)
-- 作者:未知
-- 发布日期: 2006-04-03
网络上的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.

webasp.net