主题:跪求帮忙
我想做一个窗口查询今天,明天和后天生日的人
确定的代码是:
string ls_id,xming,sql,ls_filter
datetime ld_date
date sri1,sri2,mm
long lla,llb,lla1,llb1,ll_rows,a,b
if rb_1.checked then
st_1.text="今天是"
st_2.text="生日"
st_3.text="真诚送"
st_4.text="生日祝福"
declare c_cur cursor for select lxr_bh, lxr_,birthday,lxr_name from lianxiren ;
// declare c_cur cursor for select lxrbh, csrq,name from lxrxx;
open c_cur ;
sri1=today()
lla=month(sri1)
llb=day(sri1)
fetch c_cur into :ls_id,:ld_date,:xming ;
do while sqlca.sqlcode=0
sri2=date(ld_date)
lla1=month(sri2)
llb1=day(sri2)
if lla=lla1 and llb=llb1 then
sle_1.text=sle_1.text+xming+' '
sle_2.text=sle_2.text+xming+' '
end if
fetch c_cur into :ls_id,:ld_date,:xming ;
loop
close c_cur;
ls_filter = "month(RelativeDate(date(today()),0))=month(csrq) and day(RelativeDate(date(today()),0))=day(csrq) "
dw_1.settransobject(sqlca)
dw_1.setfilter(ls_filter)
dw_1.filter()
dw_1.retrieve()
if dw_1.rowcount()=0 then
messagebox("提示!","今天没人过生日!")
else
messagebox("提示!","今天有人过生日!")
end if
elseif rb_2.checked then
st_1.text="明天是"
st_2.text="生日"
st_3.text="真诚送"
st_4.text="生日祝福"
declare c_cur1 cursor for select lxr_id, lxr_,birthday,lxr_name from lianxiren ;
open c_cur1 ;
mm=RelativeDate(date(today()),1)
a=month(mm)
b=day(mm)
fetch c_cur1 into :ls_id,:ld_date,:xming ;
do while sqlca.sqlcode=0
sri2=date(ld_date)
lla1=month(sri2)
llb1=day(sri2)
if a=lla1 and b=llb1 then
sle_1.text=sle_1.text+xming+' '
sle_2.text=sle_2.text+xming+' '
end if
fetch c_cur1 into :ls_id,:ld_date,:xming ;
loop
close c_cur1;
ls_filter = "month(RelativeDate(date(today()),1))=month(csrq) and day(RelativeDate(date(today()),1))=day(csrq) "
dw_1.settransobject(sqlca)
dw_1.setfilter(ls_filter)
dw_1.filter()
dw_1.retrieve()
if dw_1.rowcount()=0 then
messagebox("提示!","明天没人过生日!")
else
messagebox("提示!","明天有人过生日!")
end if
elseif rb_3.checked then
st_1.text="后天是"
st_2.text="生日"
st_3.text="真诚送"
st_4.text="生日祝福"
st_5.text="你还可以为他准备一份生日礼物"
declare c_cur2 cursor for select lxr_bh, lxr_,birthday,lxr_name from lianxiren ;
open c_cur2 ;
mm=RelativeDate(date(today()),2)
a=month(mm)
b=day(mm)
fetch c_cur2 into :ls_id,:ld_date,:xming ;
do while sqlca.sqlcode=0
sri2=date(ld_date)
lla1=month(sri2)
llb1=day(sri2)
if a=lla1 and b=llb1 then
sle_1.text=sle_1.text+xming+' '
sle_2.text=sle_2.text+xming+' '
end if
fetch c_cur2 into :ls_id,:ld_date,:xming ;
loop
close c_cur2;
ls_filter = "month(RelativeDate(date(today()),2))=month(csrq) and day(RelativeDate(date(today()),2))=day(csrq) "
dw_1.settransobject(sqlca)
dw_1.setfilter(ls_filter)
dw_1.filter()
dw_1.retrieve()
if dw_1.rowcount()=0 then
messagebox("提示!","后天没人过生日!")
else
messagebox("提示!","后天有人过生日!")
end if
else
//用户没有选择查询条件,给出提示信息
messagebox("信息提示","请选择查看方式!")
return
end if
运行的时候老是提示:Expecting DATETIME expression
请问错在哪里?
确定的代码是:
string ls_id,xming,sql,ls_filter
datetime ld_date
date sri1,sri2,mm
long lla,llb,lla1,llb1,ll_rows,a,b
if rb_1.checked then
st_1.text="今天是"
st_2.text="生日"
st_3.text="真诚送"
st_4.text="生日祝福"
declare c_cur cursor for select lxr_bh, lxr_,birthday,lxr_name from lianxiren ;
// declare c_cur cursor for select lxrbh, csrq,name from lxrxx;
open c_cur ;
sri1=today()
lla=month(sri1)
llb=day(sri1)
fetch c_cur into :ls_id,:ld_date,:xming ;
do while sqlca.sqlcode=0
sri2=date(ld_date)
lla1=month(sri2)
llb1=day(sri2)
if lla=lla1 and llb=llb1 then
sle_1.text=sle_1.text+xming+' '
sle_2.text=sle_2.text+xming+' '
end if
fetch c_cur into :ls_id,:ld_date,:xming ;
loop
close c_cur;
ls_filter = "month(RelativeDate(date(today()),0))=month(csrq) and day(RelativeDate(date(today()),0))=day(csrq) "
dw_1.settransobject(sqlca)
dw_1.setfilter(ls_filter)
dw_1.filter()
dw_1.retrieve()
if dw_1.rowcount()=0 then
messagebox("提示!","今天没人过生日!")
else
messagebox("提示!","今天有人过生日!")
end if
elseif rb_2.checked then
st_1.text="明天是"
st_2.text="生日"
st_3.text="真诚送"
st_4.text="生日祝福"
declare c_cur1 cursor for select lxr_id, lxr_,birthday,lxr_name from lianxiren ;
open c_cur1 ;
mm=RelativeDate(date(today()),1)
a=month(mm)
b=day(mm)
fetch c_cur1 into :ls_id,:ld_date,:xming ;
do while sqlca.sqlcode=0
sri2=date(ld_date)
lla1=month(sri2)
llb1=day(sri2)
if a=lla1 and b=llb1 then
sle_1.text=sle_1.text+xming+' '
sle_2.text=sle_2.text+xming+' '
end if
fetch c_cur1 into :ls_id,:ld_date,:xming ;
loop
close c_cur1;
ls_filter = "month(RelativeDate(date(today()),1))=month(csrq) and day(RelativeDate(date(today()),1))=day(csrq) "
dw_1.settransobject(sqlca)
dw_1.setfilter(ls_filter)
dw_1.filter()
dw_1.retrieve()
if dw_1.rowcount()=0 then
messagebox("提示!","明天没人过生日!")
else
messagebox("提示!","明天有人过生日!")
end if
elseif rb_3.checked then
st_1.text="后天是"
st_2.text="生日"
st_3.text="真诚送"
st_4.text="生日祝福"
st_5.text="你还可以为他准备一份生日礼物"
declare c_cur2 cursor for select lxr_bh, lxr_,birthday,lxr_name from lianxiren ;
open c_cur2 ;
mm=RelativeDate(date(today()),2)
a=month(mm)
b=day(mm)
fetch c_cur2 into :ls_id,:ld_date,:xming ;
do while sqlca.sqlcode=0
sri2=date(ld_date)
lla1=month(sri2)
llb1=day(sri2)
if a=lla1 and b=llb1 then
sle_1.text=sle_1.text+xming+' '
sle_2.text=sle_2.text+xming+' '
end if
fetch c_cur2 into :ls_id,:ld_date,:xming ;
loop
close c_cur2;
ls_filter = "month(RelativeDate(date(today()),2))=month(csrq) and day(RelativeDate(date(today()),2))=day(csrq) "
dw_1.settransobject(sqlca)
dw_1.setfilter(ls_filter)
dw_1.filter()
dw_1.retrieve()
if dw_1.rowcount()=0 then
messagebox("提示!","后天没人过生日!")
else
messagebox("提示!","后天有人过生日!")
end if
else
//用户没有选择查询条件,给出提示信息
messagebox("信息提示","请选择查看方式!")
return
end if
运行的时候老是提示:Expecting DATETIME expression
请问错在哪里?