vb.net与SQL Server

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的联机文档。

学习数据库访问就是要熟悉这三层类的应用与关系。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...