Visual Basic_NET中使用ADO访问数据库

来源:互联网 发布:笛子模拟软件 编辑:程序博客网 时间:2024/05/01 14:08

.NET中以
            ADO.NET取代以前的ADO。用惯ADO的程序员怎样在.NET中怎样应用ADO呢?本人经过不断的摸索,发现在.NET中ADO一样可以用,并且很好用。现在结合Visual
            Basic.NET强大的类开发功能,本人将ADO开发成组件使用,效果非常理想。我使用的方法如下:

              启动Visual Studio.NET。在新建项目中选择Visual
            Basic项目,在模板中选择类库,在名称中输入类库名称如DataAccess.确定后,则进入类库开发环境中,把Class1换名为ADOAccess。

              在项目菜单中加入引用,选择COM页,找到 Microsoft ActionX Data Object 20 Library
            或更高版本。COM选项是Microsoft为了区分现在的.NET,兼容以前的开发方式而设置的,凡是.NET之前的组件都可在COM页中可找到。

              在类名上面写上Imports ADODB.Connection; Imports ADODB.Recordset ;Imports
            ADODB.CursorLocationEnum; Imports System.DBNull
            4条引用语句,这里分别是引用ADO,ADO的宏定义,设置空值函数的来源。

              在类中定义一局部连接对象变量。 Private mCnnDB As New ADODB.Connection()
            然后定义连接Access数据库的过程. Access
            数据库用adUseClient指定,通过Microsoft.Jet.OLEDB数据访问方式访问数据库,Microsoft.Jet.OLEDB又有多种版本,其中4.0是最高版本,它能访问ACCESS
            2000,所以这里的数据提供者指定为Microsoft.Jet.OLEDB.4.0。指定了本地数据库和提供者后,就可打开一个数据库了,用open方法实现。完整的代码如下:

                  '作用: 连接Access数据库
                  '参数: DBName 数据库名
                  Public Sub ConnAccess(ByVal DBName As String)
                  Dim strDB As String
                  mCnnDB.CursorLocation = adUseClient
                  mCnnDB.Provider = "Microsoft.Jet.OLEDB.4.0"
                  mCnnDB.Open(DBName, "Admin")
                  End Sub

              在ODBC中设置DNS,在下面的ConnectionString中指定用户名和密码,最后用open方法打开。由于ODBC分有用户名和无用户名两者,我们必须分别实现,借助类的函数名重载功能,我们编写两个同名的过程,完整的代码如下:

                  '作用: 连接ODBC数据库(不需指定用户和密码 )
                  '参数:dsnName为ODBC名
                  Public Sub ConnODBC(ByVal dsnName As String)
                  mCnnDB.Provider = "MSDASQL"
                  mCnnDB.ConnectionString = "Data Source='" & dsnName & "'"
                  mCnnDB.Open()
                  End Sub

                  '作用: 连接ODBC数据库(需指定用户和密码 )
                  '参数:dsnName ODBC名,UserID 用户名,UserPwd 用户密码
                  Public Sub ConnODBC(ByVal dsnName As String, ByVal UserID As
                  String, ByVal UserPwd As String) mCnnDB.Provider = "MSDASQL"
                  mCnnDB.ConnectionString = "Data Source='" & dsnName & "'User
                  ID='" & UserID & "';" & _
                  "Password='" & UserPwd & "
                  mCnnDB.Open()
                  End Sub