高手看过来!query控件怎么了?(100分)

  • 主题发起人 主题发起人 平常人
  • 开始时间 开始时间

平常人

Unregistered / Unconfirmed
GUEST, unregistred user!
我的数据库设置是对的
database connected is true
在query中设置
query.clear;
query.sql.add('select * from tablename where id=3');
query.open;
if query.count<=0
then showmessage('没有找到!');

怎么不管id为多少都query.count=1
好奇怪
高手指点
谢谢
 
Query.close;
query.sql.clear; //query.clear
query.sql.add('select * from tablename where id=3);
query.open;

if query.RecordCount<=0 //query.count
then showmessage('没有找到!');

最好用 if query.eof=query.bof then
then showmessage('没有找到!');

 
query.clear;
query.sql.add('select count(id) from tablename where id=3');
query.open;
if query.fields[0].integer<=0
then showmessage('没有找到!');

试试
 
Query的count属性是什么东西?你是不是搞错了?应该是RecordCount吧?
 
其实最简单的是
with query do
begin
close;
sql.clear;
sql.add('select * from tablename where id=3');
open;
first;
if eof then
showmessage('没有找到!');
end;
 
recordcount 应该可以搞定!
 
recordcount不能用,我试过,它只能在Table才起作用,最好是用其eof
 
query.clear;
query.sql.add('select * from tablename where id=3');
query.open;
query.Fetchall;
if query.count<=0
then showmessage('没有找到!');
 
query.clear;
query.sql.add('select count(*) N from tablename where id=3');
query.open;
if query.FieldByName().AsInteger<=0 then
showmessage('没有找到!');
 
更正一下
If Query.FieldByName('N').AsInteger <=0 then
ShowMessage('没找到');
 
其实应该是用这个东东:
if Query1.IsEmpty then
ShowMessage('没找到');
 
g:only you and hpretty
showmessage(inttostr(query1.RecordCount));
 
这样不就完了:
If Query.Fields(0).AsInteger =0 then
ShowMessage('没找到');
 
用 RecordCount
 
begin
with query do
clear;
sql.add('select * from tablename where id=3');
open;
if isEmpty then showmessage('没有找到!');
end;
 
更正一下
begin
with query do
begin
clear;
sql.add('select * from tablename where id=3');
open;
if isEmpty then showmessage('没有找到!');
end;
end;
 
1、eof and bof 就是无记录
2、要使用recordcount,你先 query.Last 再看recordcount可能就有了、
另外你是否使用了单向的游标
 
1. 试一下:
'select * from tablename where 3=id'

2.还是要用recordcount,这是一定的
 
后退
顶部