vb.net应用程序对数据库的访问是通过ado.net来完成的。ADO.NET通过ODBC通道使用SQL访问数据库。ADO.NET对数据库的访问可以简单的想象成三层处理模型。这三层及每层主要涉及的类如下所示:
1、建立到数据库的链接
2、通过链接执行SQL语句
3、数据可用的时候,处理SQL语句返回的数据。
层次 |
类名 |
对应在System.Data.OleDb命名空间中的类名 |
对应在System.Data.SqlClient命名空间中的类名 |
1 |
Connection |
OleDbConnection |
SqlConnection |
2 |
DataAdapter |
OleDbDataAdapter |
SqlDataAdapter |
Command |
OleDbCommand |
SqlCommand |
|
3 |
DataReader |
OleDbDataReader |
SqlDataReader |
System.Data中的DataSet |
DataSet |
DataSet |
访问不同的数据源可以引用不同的命名空间,然后使用该空间下相应的ADO.NET中的类,如访问SQL Server可以使用SqlConnection进行链接。
当我们进行链接时要设置ConnectionString属性进行链接,其中要使用到数据源提供者的名字一项,例如sqlCnn.ConnectionString = " data source=SQLOLEDB;SERVER=DongZi/sqlExpress;uid=sa;pwd=123;database=MachineRoom"
中的Data Source=SQLOLEDB就是.NET平台中SQL Server数据源提供者的名称。总之,我们在使用不同数据库时要找到相应的数据源提供者在.NET中的名称,然后在设置ConnectionString就可以了。
下面利用SqlConnection、SqlDataAdapter等类做一个获取DbStuRegister数据表中的列的数量的一个Demo。
Imports System.Data
Imports System.Data.SqlClient
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click
Dim sqlCnn As New SqlConnection
Dim sqlAd As New SqlDataAdapter
Dim MyDataSet As New DataSet
Dim Tab As New DataTable
Dim sqlCM As New SqlCommand
sqlCnn.ConnectionString = " data source=SQLOLEDB;SERVER=DongZi/sqlExpress;uid=sa;pwd=123;database=MachineRoom"
sqlCnn.Open()
sqlCM.CommandText = "select * from DbStuRegister"
sqlAd.SelectCommand = sqlCM
sqlAd.SelectCommand.Connection = sqlCnn
sqlAd.Fill(MyDataSet)
Tab = MyDataSet.Tables(0)
txtCardNo.Text = Tab.Columns.Count
End Sub
End Class
DataAdapter的用法见.NET的联机文档。
学习数据库访问就是要熟悉这三层类的应用与关系。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。