回 帖 发 新 帖 刷新版面

主题:怪!数据库时间段查询怎么老是出错?

string condition,d1,d2
int i,num
d1=ddlb_6.text+"-"+ddlb_2.text+"-"+ddlb_3.text //如:="2005-5-5"
d2=ddlb_1.text+"-"+ddlb_5.text+"-"+ddlb_4.text //如:="2006-1-2"
condition="date(d_time)>date('"+d1+"')and"&
         +"date(d_time)<date('"+d2+"')"
dw_1.setfilter(condition)
dw_1.filter()
dw_1.retrieve()
运行时:"expression is not valid",咋回事?

回复列表 (共4个回复)

沙发

很明显,表达式不可用,你的表达式有错误,你好好看看应不应该用数据类型转换?还有,格式确定正确吗?

板凳

咋回事?

3 楼

string condition,condition1,condition2
if trim(ddplb_1.text)="" then
    condition1="3>2"                   //此时无措
    condition2="3>2"
else
    condition1="d_icompany='"+ddplb_1.text+"'"
   condition2 ="d_ocompany='"+ddplb_1.text+"'"     //expression is not valid
end if
condition=condition1+" or "+condition2
MessageBox("Result", condition, Exclamation!)  //显示:
//d_icompany="aa"or d_ocompany="aa"
dw_1.setfilter(condition)
dw_1.filter()
dw_1.retrieve()
MessageBox("Result", condition, Exclamation!)
what's wrong????

4 楼

date ldat_start,ldat_end
string ls_start,ls_end
ldat_start=uo_1.i_nvo_calendar.uf_getdate()
ldat_end=uo_2.i_nvo_calendar.uf_getdate()
ls_start=string(ldat_start)
ls_end=string(ldat_end)
dw_111.settransobject(sqlca)
dw_111.setfilter("时间>=date('"+ls_start+"') and 时间<=date('"+ls_end+"')")
dw_111.retrieve
这样就可以了

我来回复

您尚未登录,请登录后再回复。点此登录或注册