网络上的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