作业帮 > 综合 > 作业

pb中过滤条件expression is not valid的问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/14 08:30:35
pb中过滤条件expression is not valid的问题
以下程序是做的一个个人财务系统的消费记录,想在数据窗口中过滤存在的账户和今天的日期
string xiaofeidate,m_in,m_out,ls_filter
integer xiaofeino
time datemain
if sle_content.text=""then
messagebox("提示","请添加账目说明")
return
end if
if ddplb_type.text=""then
messagebox("提示","请选择所属类型")
return
end if
datemain=now()
//xiaofeidate=string(datemain)
select count(*) into :xiaofeino from 消费明细表 ;
xiaofeino=xiaofeino+1
m_in=trim(sle_min.text)
m_out=trim(sle_mout.text)
//插入数据;
insert into 消费明细表
values(:xiaofeino,:lgname,:datemain,:m_in,:m_out,:ddplb_type.text,:sle_content.text);
if SQLCA.sqlcode 0 then
MessageBox("提示信息",SQLCA.sqlerrtext)
else
messagebox("提示","添加成功")
dw_rmain.settransobject(sqlca)
ls_filter="(登录名='"+ lgname+"') and (消费日期=string(datemain))"
dw_rmain.setfilter(ls_filter)
dw_rmain.retrieve(1)
return
end if
在过滤条件中,在运行的时候老是提示expression is not valid的提示,然后数据窗口中的数据是整个数据库的数据,也就是过滤条件没有起到作用,有以下问题,希望能一一解答:
1.我日期设置的是date类型,也就是显示yyyy-mm-dd ,我在设置过滤条件的时候要转换类型么?在数据库中的类型也是定义的datetime类型的.
2.lgname设置是全局变量,是来自登陆窗口的账号,将账号保存在lgname这个全局变量中,是不是全局变量不能直接作为过滤条件么?
3.我的程序应该怎么改?
1.在数据窗口中的数据对象中“登录名”和“消费日期”对应的就是中文的“登录名”和“消费日期”吗?如果不是的话,应该改成相应的字段名,那个日期不需要转换.过滤条件中的括号可以不用,直接用and 连接 应该就可以了!
2.只要是全局变量的话,都可以直接用的!