dw_1.settransobject(sqlca)
is_msql=dw_1.getsqlselect()
if cbx_2.checked = true then
ld_start=uo_1.uf_get_date()
ld_end=uo_2.uf_get_date()
ls_start = string(ld_start,'yyyy-mm-dd')+" 00:00:00"
ls_end = string(ld_end,'yyyy-mm-dd')+" 23:59:59"
if ld_start>ld_end then
messagebox("错误","日期顺序不对(起始日期在结束日期后)...")
return
end if
---------------------------------------------------------------------------------------------------------
其他的查询条件都好了,就时间的查询条件一直没搞好,用的ORACLE数据库
ls_cond+=" and auto_print_tem.sssq_q <= "+ls_start+" and auto_print_tem.sssq_z >= "+ls_end
----------------------------------------------------------------------------------------------------------
end if
if ddlb_1.text<>'' or isnull(ddlb_1.text) then
ls_cond+=" and auto_print_tem.sz = '"+ddlb_1.text+"'"
end if
ls_cond=f_addcondition_sql(is_msql,ls_cond)------组合函数
dw_1.setsqlselect(ls_cond)
dw_1.retrieve()
------解决方案--------------------
1,在setsqlselect() 前,messagebox('', ls_cond) 看看你拼接的SQL 是否正确。
2,检测一下 dw_1.setsqlselect() 的反回值。
------解决方案--------------------
日期先 tochar()为字符串,再判断
------解决方案--------------------
ls_cond+=" and auto_print_tem.sssq_q <= "+ls_start+" and auto_print_tem.sssq_z >= "+ls_end
的正确写法如下:
ls_cond+=" and auto_print_tem.sssq_q <= to_date('"+ls_start+"','YYYY-MM-DD HH24:MI:SS') and auto_print_tem.sssq_z >= to_date('"+ls_end + "', 'YYYY-MM-DD HH24:MI:SS')"
-- 注意,如果日期字符串的符式不是YYYY-MM-DD HH24:MI:SS,需要修改这部分代码
------解决方案--------------------
在PB的SQL 里可以使用DB 函数。
------解决方案--------------------
where auto_print_tem.sssq_q <= 2011-08-24 00:00:00 and auto_print_tem.sssq_z >= 2011-08-24 23:59:59
时间上加引号.
------解决方案--------------------
where auto_print_tem.sssq_q <= '2011-08-24 00:00:00' and auto_print_tem.sssq_z >= '2011-08-24 23:59:59'