with dm.aq_D_dan do
begin
close;
SQL.Clear;
SQL.Add('select count(*) as cc from (select D_ID from D_dan where D_ID like ''%'+datetostr(date)+'%'') ');
Open;
cc:=cc+1;
a:=inttostr(cc);
len:=length(a);
if len<3 then begin
for j:=1 to 3-len do
le:='0';
a:=le+a;
end;
a:=datetostr(date)+a;
edit3.text:=a
end;这是一条关于订单号的 我先搜索当天订单号的条数。。然后通过下面的计算。。让订单号等于比如今天就是20100730001
是不是我select语句写错了?
假如你的字段中有日期的,你可以转化日期格式啊。sql的:convert cast
delphi:formatdatetime
我的SQL这一快一直不怎么样。。不会直接用SQL转换。。我是想先搜索当日的日期。比如20100801这天。搜索这天有多少条数据。如果是0条。。那么自动生成订单号001.。如果1条自动生成002
然后通过计算。。让日期加上单号。。就成了20100801001。。然后自动填入单号内。
sql.add('select count(*) as cc from D_dan where 单据日期字段名='''+formadatetime('yyyy-mm-dd',date)+'''');
open;
cc:=fieldbyname('cc').asinteger;这时cc就是当天单据数
select count(*) from (select D_ID from D_dan where D_ID like '%20100730%') 别名我随便定义了个a,其他也可以
我刚刚无聊看了下别人发的帖子。。突然发现。。adoquery直接可以统计数据条数的
adoquery.RecordCount 能直接得到
不过还是想多学习下SQL语言哈
select count(*) from (select D_ID from D_dan where D_ID like '%20100730%') 别名 这句话里面。。我怎么才能把count取出来呢?是用别名吗??
adoquery1.field[0].asinteger 就是 count(*)