ADO.NET在Visual Studio.NET中的灵活应用(二)

ZDNet软件频道 时间:2002-09-06 作者:黎宇 |  我要评论()
本文关键词:liyu
本文继续上次的内容,讲解ADO.NET在Visual Studio.NET中的灵活应用。
查看作者文章本文继续上次的内容,讲解ADO.NET在Visual Studio.NET中的灵活应用。

下面编写了一个用DataReader填充AxMSFlexGrid网格的过程。由于DataReader是只向后读取数据的方法,它每读取一条数据要通过Read实现,当读完时Read返回false.读数据时要考虑读出的数据是否为空值,我们可以灵活地把转换为字符串来实现. AxMSFlexGrid的列数应该首先确定。每向AxMSFlexGrid填充一条记录,AxMSFlexGrid应该增加一项,可通过AddItem实现。完整的代码如下:

'作用:用记录集的数据填充网格

'参数:MSGrid 网格对象,DataReader 数据读者

代码:list1

我们进一步编写访问其它数据库的类。我们把类命名为OleDataAccess。在类中定义一个数据连接对象变量 Private mOleCnnDB As New OleDbConnection(),然后定义连接Access数据库的函数. Access数据库是Microsoft开发的本地数据库,它通过Microsoft.Jet.OLEDB数据访问方式访问数据库,Microsoft.Jet.OLEDB又有多种版本,其中4.0是最高版本,它能访问ACCESS 2000,所以这里的数据提供者指定为Microsoft.Jet.OLEDB.4.0。指定了本地数据库和提供者后,就可打开一个数据库了,用open方法实现。完整的代码如下:

'作用: 连接Access数据库

'参数: DBName 数据库名

代码:list2

'作用: 连接Access数据库

'参数: DBName 数据库名, UserID 用户名,UserPwd 用户密码

代码:list3

Oracle数据库是目前最有影响的一种广泛使用的后台数据库。访问Oracle先指明其提供者MSDAORA。Oracle与Sql Server不同的是它不是通过数据库来管理的,所以它不需指明数据库,但它连接时必须指明用户,即使是超级用户也如此,这是它的安全性能高于Sql Server的理现之一,所以我们只须编写一个过程。其它类似。完整的代码如下:

'作用: 连接Oracle数据库

'参数:ServerName 服务器名,UserID 用户名,UserPwd 用户密码

代码:list4

有了上面的连接数据库的方法,我们就可直接读写数据了。为了提高读写数据的性能,加快读写速度,Microsoft把读写数据分为二种。一种是只读数据,通过OleDbDataReader实现。OleDbDataReader是通过执行查询命令OleDbCommand来完成的。而OleDbCommand有二个重要的属性。一个是连接一个连接对象的Connection属性和一条查询命令的CommandText属性。OleDbCommand的执行命令可以返回一个OleDbDataReader。下面我们把要访问的表作为输入参数传入,最后返回一个OleDbDataReader。完整的代码如下:

'作用:连接表

'参数:TableName表名

'返回:查询访问

代码:list5

下面是扩充上面函数的功能,可以根据条件访问单个表。

'作用:连接表

'参数:TableName表名,strWhere条件

'返回:查询访问

 Public Overloads Function GetDataReader(ByVal TableName As String, ByVal strWhere As String) As OleDbDataReader

        Dim strSql As String

        Dim myOleCommand As New OleDbCommand()

        Dim myReader As OleDbDataReader

       strSql = "SELECT * FROM " & TableName & " where " & strWhere

        myOleCommand.Connection = mOleCnnDB

        myOleCommand.CommandText = strSql

        myReader = myOleCommand.ExecuteReader()

        Return myReader

    End Function


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134