updata tablename set money=money+1
where aID in(select ...)
不太明白啊
where aID in(select ...)
不太明白啊
解决方案 »
- 来玩一个小游戏~~~~
- 请教一个关于MDI窗体的问题~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 关于TIdCookieManager的问题,请大虾进来看看,不胜感激
- 如果知道系统已安装有打印机?
- 如何创建一个没有窗体的小程序,在这个程序中创建一个timer,并且设置好timer的属性和事件?
- 窗体有个属性是,Monitor,请问他是干什么的,有什么用!
- 怎样去掉程序打开时的登录窗口?
- 关于d6的算法在d2010里出乱码的问题
- adocommnd 错误 “尚未注册库”如何解决?谢谢
- 我也做了一个读文章的语音软件
- 100分请教如何得到RichEdit控件中光标的坐标。
- 什么代码可以使打开邮件的同时启动应用程序?
首先在您的数据库表中增加一个列 flag( integer 类型,初值为0)
query1.close;
query1.sql.clear;
query1.sql.add(‘updata atable set flag=1 where flag=0’);
query1.execsql;
query1.sql.clear;
query1.sql.add(‘select money from atable where aID=123 and flag=1’)
query1.execsql;
if query1.recordcount <>0 then
begin
showmessage(‘您是第一个用户’);
yourstatement;
query1.close;
query1.sql.clear;
query1.sql.add (‘updata atable set flag=1 where flag=0’);
query1.execsql;
end
else
showmessage(‘您不是第一个用户’)
procedure TForm1.Button1Click(Sender: TObject);
var I,j:integer;
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.sql.add('update atable set flag=1 where flag=0');
adoquery1.execsql;
if adoquery1.RowsAffected<>0 then
begin
showmessage('您是第一个用户') ;
adoquery1.close;
adoquery1.sql.clear;
//adoquery1.sql.add('select uid from atable where uid=14 ');
adoquery1.open;
//yourstatement;
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add ('update atable set flag=0 where flag=1');
adoquery1.execsql;
end
else
showmessage('您不是第一个用户') ;
end;
这种方法可以通过effectrow来区分是否是第一个用户.但是有一个问题就是:您的数据库表中不能一行记录也没有,那样的话就区分不了了.不过您可以改进这种方法,使用effectrow标记来区分是肯定可以成功的
无论如何应该感谢你。顺便问一句现在的csdn怎么给帖子加分阿?