Microsoft Visual Basic.NET是Microsoft Visual Basic的更新版本,它基于.NET的框架结构,能使用户非常容易地创建Microsoft Windows操作系统和网络的应用程序。 使用Visual Basic.NET,可以快速地实现可视化开发网络应用程序、网络服务、Windows 应用程序和服务器端组件。另外,Visual Basic.NET为Windows应用程序提供了XCOPY部署,开发人员不再需要为DLL的版本问题担忧。Visual Basic现在已经真正成为面向对象以及支持继承性的语言。窗体设计器支持可视化继承,并且包含了许多新的特性,比如自动改变窗体大小、资源本地化以及可达性支持。数据类工具内在支持XML数据,在设计时数据绑定使用断开的数据。另外, Visual Basic.NET直接建立在.NET的框架结构上,因此开发人员可以充分利用所有平台特性,也可以与其他的.NET语言交互。
在这篇文章中我要跟大家讲的,是介绍Visual Basic.NET的数据库编程及其相关知识。
一、先介绍ADO.NET和ODBC.NET
ADO .NET由Microsoft ActiveX Data Objects (ADO)改进而来,它提供平台互用和可收缩的数据访问功能,是Visual Basic.NET进行数据库编程所使用的重要工具。ADO.NET 使用了某些 ADO 的对象,如 Connection 和 Command 对象,并且还引入了新的对象。主要的新 ADO.NET 对象包括 DataSet、DataReader 和 DataAdapter。
ODBC.NET是.NET框架中另外一个很有用的用于数据库开发的类库。但是,在.NET FrameWork SDK1.0版中不包含ODBC.NET,要使用ODBC.NET请到微软网站下载,具体下载地址:http://msdn.microsoft.com/library/default.asp?url=/downloads/list/netdevframework.asp(文件名是odbc_net.msi)在默认情况下,安装路径是“C:\Program File\Microsoft.net\odbc.net”。安装后的组件名为Microsoft.Data.Odbc.dll文件。
添加ODBC .NET Data Provider的步骤:
启动Visual Basic.NET开发环境,选中菜单栏的[工具]—>[数据]—>[自定义工具箱],在弹出的[自定义工具箱]对话框中选[.Net 框架组件]单击[浏览]按钮,在“C:\Program File\Microsoft.net\odbc.net”目录下选择Microsoft.Data.Odbc.dll文件。接下来就在[自定义工具箱]中选择“OdbcCommand”、“OdbcCommandBuilder”、“OdbcConnection”、“OdbcDataApdater”后,单击[确定]。至此,完成了在Visual Basic.NET中加入ODBC .NET。
二、接下来介绍数据提供者(Data Provider)
ADO.NET和ODBC.NET两者共提供了三种数据提供者,其中ADO.NET提供两种(The SQL Server .NET Data Provider和 The OLE DB .NET Data Provider )ODBC .NET提供一种(The ODBC .NET Data Provider)。表1是三种数据提供者及其支持的数据库:
数据提供者(Data Provider)
支持的数据库
I
The SQL Server .NET Data Provider
仅支持SQL Server7.0或更高版本
II
The OLE DB .NET Data Provider
Access、Oracle和Sql Server等
III
The ODBC .NET Data Provider
Access、Oracle、Sql Server、MySql、VFP等
表1三种数据提供者及其支持的数据库
三、接下来就分别介绍以上几种数据提供者连接各种数据库
1、 用The SQL Server .NET Data Provider连接数据库
The SQL Server .NET Data Provider是利用SqlConnection类来连接SQL Server7.0或更高版本的数据库,
SqlConnection类位于名称空间System.Data.SqlClient下。
连接代码:
Dim sqlConnection1 As SqlClient.SqlConnection
Dim strConnect As String=”data source=服务器名;initial catalog=数据库名;user id=sa;password=;”
sqlConnection1=New System.Data.SqlClient.SqlConnection(strConnect)
sqlConnection1.open ‘打开数据库
sqlConnection1.close ‘关闭连接,释放资源
2、 用The OLE DB .NET Data Provider连接数据库
上面已经说过,利用The OLE DB .NET Data Provider可以访问Access、Oracle和SQL Server等种数据
库,那么,它是怎样访问这些数据库的呢?The OLE DB .NET Data Provider是通过位于名称空间Sy
stem.Data.OleDb类库下的OleDbConnection类来连接这三种不同类型的数据库的。下面举例说明:
1)连接SQL Server数据库
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=SQLOLEDB;Persist Security Info=False;Data Source=服务器名;Initial Catalog=数据库名;User ID=sa;Password=;”
oleDbConnection1=New System.Data.OleDb.OleDbConnection(strConnect)
2)连接Access数据库
假设要连接的Access数据库名为“Example.mdb”,存放在d:\Data\目录下。
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Data\ Example.mdb”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3)连接Oracle数据库
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=MSDAORA;Data Source=服务器名;User ID=用户ID;Password=密码;”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3、 用The ODBC .NET Data Provider连接数据库
The ODBC .NET Data Provider连接数据库是通过OdbcConnection类来实现的,这个类位于名称空间
Microsoft.Data.Odbc下,而名称空间Microsoft.Data.Odbc是封装在Microsoft.Data.Odbc.dll文件下的。
由于篇幅有限,这里就只介绍连接Sql Server和Oracle数据库的方法,其他数据库的连接方法基本类
似,我就不再多讲了。
1)连接Sql Server数据库
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={SQL Server};Server=服务器名;Uid=sa;pwd=;Database= 数据库名;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
2)连接Oracle数据库
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={Microsoft ODBC for Oracle};Server=服务器名;Uid=sa;pwd=;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
四、总结
通过本文的介绍,读者基本掌握了在Visual Basic.NET中用ADO.NET和ODBC.NET连接各种数据库的方法
。以上三种驱动针对不同的数据库,它们的性能方面也有很大的不同:The SQL Server .NET Data Provider
的效率最高;The OLE DB .NET Data Provider的效率比较底;The ODBC .NET Data Provider的效率最慢。
具体连接哪一种数据库选用哪一种数据驱动要从工作效率方面来考虑。