热情软件屋

 

如何找到满足条件的记录


编号:QA003413
建立日期: 2000年10月16日 最后修改日期:2000年10月16日
所属类别:

hyr:
    操作系统: win98
    编程工具: vb6,数据库
    问题: 请问高手,我有一个表如下:
    ID CITY
    1 北京
    2 上海
    3 广州
    我想找到 ID=2 的 CITY 字段的内容,用什么办法?一定要遍历表吗?
    要想判断 ID=3 的记录是否存在,又应该怎么做?谢谢!
    水平: 刚入门

回答:

    假设你使用的是DAO,ADO与DAO在这个问题上类似。
    有两个办法:
    1、使用FindFirst方法。如:
    Data1.Recordset.FindFirst "ID = 2"
    你可以使用Data1.Recordset.NoMatch来判断FindFirst是否找到了满足条件的记录,如果NoMatch返回True,说明没有满足条件的记录,否则说明有。你可以使用Data1.Recordset("City")来获得对应的字段内容。
    如果你的条件是用户输入的,可以这样
    Data1.Recordset.FindFirst "ID = " + Text.Text ' 假设ID是数字型字段。
    或
    Data1.Recordset.FindFirst "ID = '" + Text.Text + "'"' 假设ID是字符型字段。
    或
    Data1.Recordset.FindFirst Text1.Text + " = " + Text2.Text ' 假设字段名称也是用户输入的,且是数字型字段。
    2、使用SQL语句
    对于简单的查询,SQL语句没有FindFirst方便,但是如果查询很复杂,那么必须借助SQL语句,一般介绍VB高级编程的书会有详细的说明。对于你的问题,可以这样做:
    Dim rd As Recordset
    Set rd = Data1.Database.OpenRecordset("SELECT * FROM YOURTABLE WHERE ID = 2")
    你可以使用rd("City")来获得City字段的内容。也可以使用rd.RecordCount来判断是否有记录,如果为0说明没有满足条件的记录。
    
    相关问题:
    QA000428 "如何选出为空的数据"
    QA000518 "怎样在数据库中检索一个时间段"
    QA000597 "SQL的Select语句中可否使用VB变量"
    QA001840 "如何显示查询结果"
    QA001944 "如何知道某个表中的记录共有多少行"
    QA002277 "如何在同一数据库所有数据表中查找某一记录"
    QA001718 "如何模拟鼠标移动操作"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio