.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
SQL Server数据库是Microsoft开发的一种广泛使用的后台数据库。访问SQL Server可以通过指明ODBC驱动
程序为SQL Server来实现,即在连接字符串中要有driver={SQL Server},由于它是后台数据库,所以必须指明SQL Server所在的
计算机名,通常把它称为服务器,下面的ServerName就说明这点,然后指明是连接哪个数据库。其它的类似上面的ODBC。SQL Server的用户分为WIN NT 和授权用户,WIN NT用户是不需要指定用户名和密码的超级用户,否则要指明用户名和密码,这决定于SQL Server数据库管理员,在此不作详细说明,完整的代码如下:
''作用: 连接SQL Server数据库
''参数:ServerName 服务器名,DBName 数据库名
Public Sub ConnSQLServer(ByVal ServerName As String, ByVal DBName As String)
With mCnnDB
.ConnectionSt