实例与举一反三之比较(五)

实例五:数据查询

 

原例:用ADO Command对象创建参数查询,用MSFlexGrid显示数据。

 

举一反三(1):

 

      不同点:使用查询参数构造SQL Sever语句,(WHERE条件中有参数,故Command对象不用设置参数)使用ADO Command对象执行查询语句。

 

原例:

 

    objCmd.CommandText = "SELECT * FROM 系统用户 WHERE 用户名 LIKE ? " & "AND 身份 LIKE ?"

    Dim Parm As New Parameter
    Set Parm = objCmd.CreateParameter("用户名", adVarChar, adParamInput, 10)
    objCmd.Parameters.Append Parm
    Set Parm = objCmd.CreateParameter("身份", adVarChar, adParamInput, 10)
    objCmd.Parameters.Append Parm


    objCmd("用户名") = "%" & txtUser & "%"      '获得查询参数
    objCmd("身份") = "%" & txtStatus & "%"
    Set objRs = objCmd.Execute()                '执行查询,获得查询结果记录集

本例:

       objCmd .CommandText = "SELECT * FROM 系统用户 WHERE 用户名 LIKE '%" & Trim(txtUser) & "%'" & "AND 身份 LIKE '%" & Trim(txtStatus) & "%'"


    Set objRs = objCmd.Execute()                '执行查询,获得查询结果记录集


举一反三(2):

 

      不同点:使用查询参数构造SQL Sever语句,(WHERE条件中有参数,故RecordSet对象不用设置参数)使用ADO RecordSet对象执行查询语句。用DataGrid控件显示数据。

 

 本例:

 

    strSQL = "SELECT * FROM 系统用户 WHERE 用户名 LIKE '%" & Trim(txtUser) & "%'" & "AND 身份 LIKE '%" & Trim(txtStatus) & "%'"
    Set objRs.ActiveConnection = objCn
    objRs.CursorLocation = adUseClient
    objRs.CursorType = adOpenStatic
    objRs.Open strSQL
    Set DataGrid1.DataSource = objRs


举一反三(3):

 

      不同点:先执行Select语句获取数据库数据,将其存放到RecordSet对象中,然后设置RecordSet对象的Filter属性筛选符合条件的记录。用DataGrid控件显示数据。

 

本例:

 

    strSQL = "SELECT * FROM 系统用户 "
    Set objRs.ActiveConnection = objCn
    objRs.CursorLocation = adUseClient
    objRs.CursorType = adOpenStatic
    objRs.Open strSQL

    If Trim(txtUser) = "" Then
        strFilter = ""
    Else
        strFilter = "用户名 LIKE '" & Trim(txtUser) & "%' "
    End If
    If Trim(txtStatus) <> "" Then
        If strFilter <> "" Then
            strFilter = strFilter & "AND 身份 LIKE '" & Trim(txtStatus) & "%'"
        Else
            strFilter = "身份 LIKE '" & Trim(txtStatus) & "%'"
        End If
    End If
    objRs.Filter = strFilter
    Set DataGrid1.DataSource = objRs

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值