CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

adoquery!我用adoquery控件进行查询,查找结果(RecordCount)是等于0还是-1呢?

楼主liuchun008(阿春)2001-12-25 16:30:28 在 Delphi / VCL组件开发及应用 提问

程序目的是:判断输入的用户名是否存在  
   
   
   
                              dm.adoq_rygl.close;  
                              dm.adoq_rygl.SQL.Clear;  
                              str_sql:='select   uses_name   from   t_rygl   where   uses_name='''+trim(e_yhm.text)+'''';  
                              dm.adoq_rygl.SQL.Add(str_sql);  
                              showmessage(dm.adoq_rygl.SQL.text);  
                              dm.adoq_rygl.Open   ;  
                              showmessage(inttostr(dm.adoq_rygl.RecordCount));  
                              if   dm.adoq_rygl.RecordCount=-1     then  
                                    begin  
                                        //在表中加入记录  
                                        dm.adot_rygl.Insert;  
                                        dm.adot_rygl.FieldByName('uses_name').asstring:=trim(e_yhm.text);  
                                        dm.adot_rygl.fieldbyname('password').asstring:=trim(e_mm.text);  
                                        dm.adot_rygl.post;  
                                        dm.adot_rygl.close;  
                                        dm.adot_rygl.open;  
                                        //将用户名加入ListBox_name中  
                                        ListBox_name.Items.Add(e_yhm.text);  
                                        e_yhm.text:='';  
                                        e_mm.text:='';  
                                        e_qrmm.text:='';  
                                    end  
                                    else  
                                        showmessage('用户名已经存在!');  
   
   
  当我把条件设为   dm.adoq_rygl.RecordCount=-1     程序可以运行但用户名存在时也可以添加;  
  当我把条件设为   dm.adoq_rygl.RecordCount=0       程序就跳过执行else   后的代码  
   
   
   
  ???????????????  
      问题点数:20、回复次数:7Top

1 楼fei1995(三板斧)回复于 2001-12-25 16:32:40 得分 0

  if   dm.adoq_rygl.IsEmpty     then  
  Top

2 楼fei1995(三板斧)回复于 2001-12-25 16:34:21 得分 20

                            dm.adoq_rygl.close;  
                              dm.adoq_rygl.SQL.Clear;  
                              str_sql:='select   uses_name   from   t_rygl   where   uses_name='''+trim(e_yhm.text)+'''';  
                              dm.adoq_rygl.SQL.Add(str_sql);  
                              showmessage(dm.adoq_rygl.SQL.text);  
                              dm.adoq_rygl.Open   ;  
                              showmessage(inttostr(dm.adoq_rygl.RecordCount));  
                              if   dm.adoq_rygl.IsEmpty     then  
                                    begin  
                                      //在表中加入记录  
                                      dm.adot_rygl.Insert;  
                                      dm.adot_rygl.FieldByName('uses_name').asstring:=trim(e_yhm.text);  
                                      dm.adot_rygl.fieldbyname('password').asstring:=trim(e_mm.text);  
                                      dm.adot_rygl.post;  
                                      dm.adot_rygl.close;  
                                      dm.adot_rygl.open;  
                                      //将用户名加入ListBox_name中  
                                      ListBox_name.Items.Add(e_yhm.text);  
                                      e_yhm.text:='';  
                                      e_mm.text:='';  
                                      e_qrmm.text:='';  
                                  end  
                                  else  
                                      showmessage('用户名已经存在!');  
   
  Top

3 楼zswang(伴水清清)(专家门诊清洁工)回复于 2001-12-25 16:43:56 得分 0

if   dm.adoq_rygl.RecordCount<>0     then  
                                  Top

4 楼Heyongfeng(小何)回复于 2001-12-25 16:45:05 得分 0

recordcount返回的是检索的记录行数,0表示没有符合条件的记录,它不可能为-1。Top

5 楼liuchun008(阿春)回复于 2001-12-25 16:49:39 得分 0

可是我用showmessage(inttostr(dm.adoq_rygl.RecordCount));  
  它的结果是-1啊                             Top

6 楼liuchun008(阿春)回复于 2001-12-25 16:52:01 得分 0

用dm.adoq_rygl.IsEmpty问题就解决了啊  
  谢谢fei1995(飞砂) Top

7 楼liuchun008(阿春)回复于 2001-12-25 16:56:20 得分 0

还有其他方法可以实现吗?  
  我是指整个程序啊     判断输入的用户名是否存在  
  Top

相关问题

  • 查找一个控件
  • 查找页面控件。
  • 用数据库实现查找功能出错,谁帮我看看(用的是adoquery控件)
  • ado控件的RecordCount!
  • 关于查找控件的问题?
  • ADOQuery控件的错误
  • 怎么查找窗体上的不可视控件,例如DataTable或DataSet控件
  • 根据控件名称,查找到此控件,并重写此控件的某一方法
  • **如何在FileListBox控件上执行“查找”操作?**
  • query控件select出来的记录怎么进行查找啊

关键词

  • 用户
  • sql
  • rygl
  • adoq
  • dm
  • adot
  • yhm
  • recordcount
  • showmessage
  • fieldbyname

得分解答快速导航

  • 帖主:liuchun008
  • fei1995

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo