查询语句的问题(20分)

  • 主题发起人 主题发起人 winsock
  • 开始时间 开始时间
W

winsock

Unregistered / Unconfirmed
GUEST, unregistred user!
我用下面的这条语句查询。。。为什么有错?
query1.Close;
query1.SQL.Clear;
if query1.SQL.Add('select * from animals where weight=80') then //这里出错
showmessage('找不到记录');
else
query1.sql.add('update from animals set weight=80 where area=boa');
.......

还有一点。要是要把表中一个字段(如:weight)的所有值都修改80,语句怎么写呢?
 
》》if query1.SQL.Add('select * from animals where weight=80') then //这里出错
if 关键字后面得布尔型变量。
----------------------------修改你的代码如下------------------
1、
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from animals where weight=80');
query1.Open;
if query1.isEmpty then //这里出错
showmessage('找不到记录')
else
query1.sql.add('update from animals set weight=80 where area=boa');
---------------------------------------
》》还有一点。要是要把表中一个字段(如:weight)的所有值都修改80,语句怎么写呢?
2、语句如下:
update animals set weight=80

 
回答的很正确,我没话说。
 
都是夜猫子嘛。 PF ing ...
 
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from animals where weight=80');
query1.Open;
if query1.isEmpty then //这里出错
showmessage('找不到记录')
else
query1.sql.add('update animals set weight=80');
query1.execsql;
 
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from animals where weight=80');
query1.Open;
if query1.isEmpty then //这里出错
showmessage('找不到记录')
else
begin
query1.Close;
Query1.SQL.Clear;
query1.sql.add('update animals set weight=80');
query1.execsql;
end;
 
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from animals where weight=80');
query1.Open;
if query1.recordcount = 0 then //这里出错
showmessage('找不到记录')
else
begin
query1.Close;
Query1.SQL.Clear;
query1.sql.add('update animals set weight=80');
query1.execsql;
end;
 
在数据库中加触发器
 
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from animals where weight=80');
query1.Open;
if query1.isEmpty then
showmessage('找不到记录')
else
begin
Query1.SQL.Clear;
query1.sql.add('update animals set weight=80');
try
query1.execsql;
except
abort;
end;
end;
可以了。。。
 
对语句的功能不了解?!先看看书或例子。
 
多人接受答案了。
 
后退
顶部