这段时间一直在做自己的机房收费系统,其中遇到了诸多的专业性知识:sqlconnection,sqlcommand,dataset,datatable,datareader的概念不清。
对于他们之间的关系一直都不是很明白,查阅了很多的资料,终于找到了他们的出处——ADO.NET。也就在此时,更加明白了这一系列的知识之间的联系。
**connection:
数据库连接字符串,其中包括了服务器名(server=zhanghui-pc)、数据库名字(database=charge-sys)、用户名(user id=sa)、密码(password=12356) 示例:
<strong><span style="font-family:KaiTi_GB2312;font-size:18px;"><strong> Public conn As New SqlConnection("server=zhanghui-pc;database=charge-SYS;user id=sa;password=123456")</strong></span></strong>
**command:
成功与数据建立连接后,就可以用Command对象来执行查询、修改、插入、删除等命令;
示例:
<strong> Dim cmd As New SqlCommand(sqlstr, conn) '存储过程的应用 cmd.CommandText = sqlstr cmd.CommandType = CommandType.Text cmd.Parameters.Add(New SqlParameter("@username", eUser.UserName)) cmd.Parameters.Add(New SqlParameter("@password", eUser.Password)) 'sqlparameter add方法,防止语句拼接导致的注入 'cmd.Parameters.AddRange((New SqlParameter("@password1", DUser.password)),((New SqlParameter("@password2", DUser.password))) 'sqlparameter addrange 方法 conn.Open() Dim reader As SqlDataReader reader = cmd.ExecuteReader()</strong>
DataTable 是一个数据网格控件,或者可以理解为一个虚拟的表格。
**dataset:
DataSet对象是数据在内存中的表示形式。它包括多个DataTable对象,而DataTable包含列和行,就象一个普通的数据库中的表。
示例:(dataset和datatable的关系)
<strong><span style="color:#333333;"> Dim sqlAdapter As SqlDataAdapter Dim dt As New DataTable Dim ds As New DataSet '给cmd赋值 cmd.CommandText = cmdtext cmd.CommandType = cmdtype cmd.Connection = conn cmd.Parameters.AddRange(paras) sqlAdapter = New SqlDataAdapter(cmd) '实例化adapter对象 Try sqlAdapter.Fill(ds) dt = ds.Tables(0) </span><span style="color:#3333ff;">(dataset和datatable的关系)</span><span style="color:#333333;"> cmd.Parameters.Clear() Catch ex As Exception MsgBox("查询失败", CType(vbOKOnly + MsgBoxStyle.Exclamation, MsgBoxStyle), "警告") Finally</span></strong>
DataReader对象允许开发人员获得从Command对象的SELECT语句得到的结果。
示例:
<strong><span style="font-family:KaiTi_GB2312;font-size:18px;"><strong> Dim reader As SqlDataReader reader = cmd.ExecuteReader()</strong></span></strong>
ado.net是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但ADO.NET的出现使这些数据源拓展到了文本文件、Excel表格或者XML文件。
找到了ADO.NET, 顿时自己感觉看到了曙光,没有那么多的迷茫了。同时也让自己认识到机房收费系统不再是简简单单的一个系统了,它会让我们学习到很多的知识。
参考资料:ADO.NET_百度百科