你好,欢迎来到电脑编程技巧与维护杂志社! [免费注册][请登录 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 网络与通信
关系数据库的VB通用查询编程技巧(二)
 

2.自定义过程       

1)完成对数据库连接对象cn的赋值,并打开,以备使用。

Public Sub opencn()   '打开连接

Set cn = New ADODB.Connection

' constr字符串,用于编程者根据所使用的数据库不同(如AccessSQL Server,来修改成不同的连接字符串。本例中以cx.mdb为例。

    constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\cx.mdb;Persist Security Info=False"

    cn.Open constr

End Sub

2)完成对数据库连接对象cn关闭,及置空功能。

Public Sub closecn()

    cn.Close

    Set cn = Nothing

End Sub

3)完成对数据库记录集对象rs的设置,并根据查询条件,对数据库进行查询,返回结果集。

Public Sub openrs(sqlstr As String)

    Set rs = New ADODB.Recordset

    With rs

       .ActiveConnection = cn

       .CursorLocation = adUseClient

       .CursorType = adOpenStatic

       .LockType = adLockBatchOptimistic

       .Source = sqlstr

       .Open

       Set .ActiveConnection = Nothing

    End With

End Sub

4)完成对数据库连接记录集对象rs关闭,及置空功能。

Public Sub closers()

    rs.Close

    Set rs = Nothing

End Sub

5)根据查询结果,将符合条件的记录添加到Grid2中,并显示。

Public Sub fillgrid()

    Dim j As Integer

    Dim i As Integer

    Dim m As Integer     '记录集行值

    Dim n As Integer     '记录集列值

    Dim rssum As ADODB.Recordset

    Opencn               '调用子过程Opencn,打开数据库连接

'调用子过程Openrs,并传参数查询的内容

    openrs strdemand & strcondition  

closecn             '调用子过程closecn,关闭数据库连接

Grid2.Clear         '清空表格Grid2

    Grid2.FormatString = ""

    '判断记录集中是否有记录,无记录跳出程序段   

If rs.RecordCount <= 0 Then Exit Sub 

    m = rs.RecordCount      'm变量用来记录记录集rs中的记录总数

    n = rs.Fields.Count     'n变量用来记录记录集rs的字段的总数

rs.MoveFirst

  推荐精品文章

·2019年9月目录 
·2019年8月目录
·2019年7月目录
·2019年6月目录
·2019年5月目录
·2019年4月目录    
·2019年3月目录   
·2019年2月目录   
·2019年1月目录  
·探析云计算下应用软件用户数据安全问题
·地理空间集束线可视化表达
·Android智能净水机APP开发(一)
·2018年12月目录  
·springAOP的思想和设计以及实现

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备06048724号,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区长春桥路5号6号楼1209室,邮编:100089