Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > VB.NET > 从dotNet到VB6之模仿构造OleDbDataAdapter与dataset结合
【标  题】:从dotNet到VB6之模仿构造OleDbDataAdapter与dataset结合
【关键字】:dotNet,VB6,OleDbDataAdapter,dataset
【来  源】:http://same.cnblogs.com/archive/2006/04/25/384418.html

从dotNet到VB6之模仿构造OleDbDataAdapter与dataset结合

Your Ad Here           大家用了这么久ado.net也充分享受到其带来到方便,不过有时我们由于项目的需求或环境条件限制,我们又回到VB6.0开发了,难免有时会觉得力不从心,主要是使用ADO去ADO.net的灵活性不同,特别是异步和对xml支持方面,不过今天我要说对是怎样在VB6.0中构造一个像.net中对OleDbDataAdapter 功能的假对象,比如说我们在dotNet下完成以下构造
            Dim sql As String = "select * from login"
        
Dim Oda As New OleDbDataAdapter(sql, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb")
        Dim ds As New DataSet
        Oda .Fill(ds, 
"login")
        DataGrid1.DataSource = ds.Tables(0).DefaultView()
           '绑定到dataGrid

以上体现了OleDbDataAdapter与dataset的优越性,到这时您已经可以从dataset随心所欲到取数据了,而在vb6.0中半面向对象设计的概念使结构体和独立的函数大量的被使用,当然我在这里要用的方法也就是用VB6函数模拟对象了如下步骤:
①:在应用中添加一个对adodb 2.7版本的引用
②添加module模块,在模块中加入以下代码
Public Function newado(SQL As String, AccessDb As StringAs ADODB.Recordset
    
Dim rs As ADODB.Recordset
    strconn 
= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & AccessDb & ";Persist Security Info=False"
    
Set rs = New ADODB.Recordset
    rs.Open SQL, strconn, adOpenStatic, adLockOptimistic, adCmdText
    
Set newado = rs
    
Set rs = Nothing
    
'rs.CursorLocation = adUseClient
   ' rs.Open SQL, strconn, adOpenDynamic, adLockBatchOptimistic,adLockBatchOptimistic
End Function
③:这时您已经可以在任意地方方便的申请,使用,回收ADODB.Recordset对象如:
dim myado as ADODB.Recordset
set myado =new("select * from stu","db1.mdb")
while not myado.EOF
      
'……
      myado.next
wend
myado.close

当然以上函数可以更灵活,就是把Provider也作为参数,但是一般我们是很少改变数据库提供程序的
如果您像与控件绑定,那么需要在公共函数里使用客户端游标语句
rs.CursorLocation = adUseClient
那么这时在为关闭myado时都可以绑定到控件,如:
set dataGrid.datasource=myado
到这里,大家现在也可以像ado.net那样享受到编写代码的方便,无论你写什么数据库项目,都可以马上都把函数复制到新项目的module写立即使用了。
撰写《ASP.NET 2.0开发指南》的非正式小结:【上一篇】
ESFramework介绍之(25)-- 在插件中使用NHibernate:【下一篇】
【相关文章】
  • Entity as DTO vs Dataset as DTO - .Net Serialization Comparison
  • VB6.0在PLC与上位机通讯中的应用
  • 如何使用强类型的DataSet。
  • [hidotnet]真正的取真实IP地址及利弊
  • Visual Studio 2005 中的新 DataSet 特性
  • C# 教程[译自DotNetSpider.com]第一章
  • 理解DataSet的数据缓存机制
  • 从VB6到VB.NET的变化综述
  • VB6中OLE的自动操作
  • 浏览 VB6 网页类
  • 【随机文章】
  • Html Convert Image (Html2Image)
  • Linux的nfsd存在漏洞允许入侵者获取root
  • 天音怒放的注册机
  • 没有超链接,在DREAMWEAVER中插入FLASH后
  • 3G核心网技术路线选择
  • 双机切换问题的解决
  • "魔力守望者"病毒档案
  • 社区(php&&mysql)六
  • Linux 网管 123 --- 第8章. 备份及回存程序 -3.Cisco 路由器组态备
  • Ubuntu下的C/C++环境搭建
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.