如何找到满足条件的记录
编号: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 "如何模拟鼠标移动操作"
此问题由李海回答。
| |
|
|
| |
|
|