报表查询时间段出现问题

从此没有不舍得 2018-01-13 09:23:07
string ls_begindate,ls_enddate,ls_sql
ls_begindate = em_begin.text + '00:00:00'
ls_enddate = em_end.text +'23:59:59'
ls_sql = is_oldsql + "and pat_resi_info.admission_time>="'+ls_begindate+'"and pat_rest_info.admission_time<="'ls_enddate"'"
dw_print.setsqlselect(ls_sql)
dw_print.retreve()
这个是代码,运行出现文字与格式字符串不匹配
差错发现是dw_print.setsqlselect(ls_sql)中的ls_sql的问题

SELECT "PAT_RESI_INFO"."RESI_NO",
"PAT_RESI_INFO"."PAT_NAME",
"PAT_RESI_INFO"."SEX",
"PAT_RESI_INFO"."AGE",
"PAT_RESI_INFO"."BED_NO",
"PAT_RESI_INFO"."IN_DEPT",
"PAT_RESI_INFO"."DISCHARGE_TIME",
"PAT_RESI_INFO"."ADMISSION_TIME",
"PAT_SETTLE_MASTER"."PAYMENTS",
"PAT_SETTLE_MASTER"."COST"
FROM "PAT_RESI_INFO", "PAT_SETTLE_MASTER"
WHERE ("PAT_RESI_INFO"."RESI_NO" = "PAT_SETTLE_MASTER"."RESI_NO")
and pat_resi_info.admission_time >= '1900-01-01 00:00:00'
and pat_resi_info.admission_time <= '1900-01-01 23:59:59'

这个问题怎么解决
...全文
568 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
acen_chen 2018-01-15
  • 打赏
  • 举报
回复
ls_enddate前后没有+号,and前面没有空格,先修改了看有没有问题,如果还是报错再调整字符串和日期的相关格式
划]破 2018-01-15
  • 打赏
  • 举报
回复
你数据库中的字段admission_time应该是日期时间型的吧,ls_begindate/ls_enddate需要根据数据库类型去设置格式的; SQLSERVER数据库直接加单引号(你的这种写法)应该是可以的,ORACLE需要转换下格式:" to_date('" + string(ls_begindate,'yyyy-mm-dd hh:mm:ss') + "','yyyy-mm-dd hh24:mi:ss') ", 然后再拼接到你sql语句中就可以查询了; 其他数据库:DB2,SYSBASE之类的百度查下吧;
  • 打赏
  • 举报
回复
引用 1 楼 qq_17847881 的回复:
你数据库中的字段admission_time应该是日期时间型的吧,ls_begindate/ls_enddate需要根据数据库类型去设置格式的; SQLSERVER数据库直接加单引号(你的这种写法)应该是可以的,ORACLE需要转换下格式:" to_date('" + string(ls_begindate,'yyyy-mm-dd hh:mm:ss') + "','yyyy-mm-dd hh24:mi:ss') ", 然后再拼接到你sql语句中就可以查询了; 其他数据库:DB2,SYSBASE之类的百度查下吧;
大佬能不能告诉我下具体修改源码啊。刚学pb还不是很熟练
  • 打赏
  • 举报
回复
大佬们能不能告诉我下具体的修改源码。刚学还不是很熟练

1,076

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧