VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 884|回复: 4

表里面明明有记录,为什么查询不到?

[复制链接]

4

主题

15

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-10-10 09:30:01 | 显示全部楼层 |阅读模式
先看下面的代码:
//在表bed里查询

  query3.Close ;
  query3.SQL.Clear ;
  query3.SQL.Add('select * from bed where bed_no = :para_bed_no') ;
  query3.ParamByName('para_bed_no').AsString := trim(DBedit13.Text) ;
  query3.Open ;                     //打开表,表里面明明有记录上面的记录
  if query3.RecordCount >= 1 then   //这句竟然返回是假的,这是怎么回事?
  begin
    query3.Edit ;
    query3.FieldByName('bed.s_no').AsString := trim(DBedit1.Text) ;
    query3.Post ;
  end ;

就上面的问题,不知道是怎么回事,我用单步运行是如我上面所说的那样!!
这究竟是怎么回事?希望大家帮帮看看,到底是怎么回事?
回复

使用道具 举报

0

主题

34

帖子

21.00

积分

新手上路

Rank: 1

积分
21.00
发表于 2020-10-10 09:45:01 | 显示全部楼层
DBedit13的 Datasource-->Dataset是哪一个? 如果是Query3,那么,你已经close了,DBedit13.Text自然就是空值了
回复

使用道具 举报

0

主题

34

帖子

21.00

积分

新手上路

Rank: 1

积分
21.00
发表于 2020-10-10 10:00:01 | 显示全部楼层
可以用一个变量,在query3.Close ;之前,把DBedit13.text读出来,然后在Query3.sql里用
回复

使用道具 举报

0

主题

13

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-10-10 10:45:01 | 显示全部楼层
if query3.RecordCount >= 1 then
//换这个试试?
if query3.isempty() then
回复

使用道具 举报

4

主题

15

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
 楼主| 发表于 2020-10-10 11:00:01 | 显示全部楼层
谢谢!!!
大家!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表