My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > .NET > 临时文章
不用ado控件,让datagrid显示数据
作者:未知 时间:2004-11-03 12:12 出处:Blog 责编:MyFAQ
              摘要:暂无

用vb写程序的时候,经常需要让DataGrid控件显示数据库的内容,一般都是通过把DataGrid和ADO控件绑定实现的,这样比较麻烦。后来我就想写代码实现这个功能,代码如下:
Public Function GetMDBRecordset(SQL As String, DatabasePath As String, Optional DatabasePassword As String) As Recordset
    On Error GoTo ErrorStats
    Dim wadoConnection As New Connection
    Dim wadoRecordset As New Recordset
    Dim PasswordString As String
    If Len(DatabasePassword) <> 0 Then
        PasswordString = ";Persist Security Info=False;Jet OLEDB:Database Password=" & DatabasePassword
    End If
    wadoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DatabasePath & PasswordString
   
    With wadoRecordset
        .ActiveConnection = wadoConnection
        .Source = SQL
        .CursorType = adOpenKeyset
        .LockType = adLockOptimistic
        .Open
    End With
   
    Set GetMDBRecordset = wadoRecordset
    Exit Function
ErrorStats:
    MsgBox "错误号是:" & Err.Number & vbCrLf & "错误详细信息:" & Err.Description
End Function

在一个Button的Click事件中添加如下代码:
Set datagrid1.DataSource = GetMDBRecordset("select * from table1", "f:\db1.mdb")

这样确实能打开数据库,但是DataGrid里死活不出现内容,经过测试,证明数据库确实被打开了,只是Datagrid控件里没有显示出来。

后来无意中发现同事所写的一个打开数据库的函数,里面给Recordset对象设定了一个CursorLocation=adUseClient,这样,就能在datagrid里显示出来内容了,真是奇怪啊。

代码片断如下:
With wadoRecordset
        .ActiveConnection = wadoConnection
        .Source = SQL
        .CursorType = adOpenKeyset
        .LockType = adLockOptimistic
        .CursorLocation = adUseClient
        .Open
End With

呵呵,这样就好了。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有