pb中retrieve argument 2 does not match expected type错误提示

sanyuan35 2012-12-31 10:04:41
实现功能:输入开始日期和结束日期,选择类别后,查询出日期区间的数据
定义了两个数据窗口,一个dw_1和一个下拉数据窗口dw_2,两个EditMask控件:em_start_date和em_stop_date,设置mask为yyyy-mm-d ,两个检索参数设为datetime型:sd,ed,数据库中日期字段datetime为型。还有一个检索参数设为string型:class,
查询代码为:
int ll_dept
string ll_class
datetime st_date,end_date
st_date=datetime(date(em_start_date.text),time('00:00:00'))
end_date=datetime(date(em_stop_date.text),time('00:00:00'))

if st_date > end_date then
messagebox("错误!","日期区间错误!",stopsign!)
return
em_start_date.setfocus()
end if


if isnull(dw_2.getitemstring(1,'xh_class'))then
messagebox("提示","请选择项目类别")
return
end if

class= dw_2.getitemstring(1,'xh_class')

ll_dept=dw_1.retrieve(deem_start_date.text, em_stop_date.text, class)
执行时,总提示retrieve argument 2 does not match expected type错误
...全文
1403 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mfkpie 2013-11-05
  • 打赏
  • 举报
回复
我也同样有这个问题不知道您能帮助我吗?QQ1310636398
sanyuan35 2013-01-07
  • 打赏
  • 举报
回复
引用 8 楼 msgtogcr 的回复:
1.确认数据窗口对象的两个检索参数设为 datetime 型 2.where 确认设置为 字段名 between :st and :et 3.ldt_start = dateTime(date(em_start_date.text), time('00:00:00')) ldt_end = dateTime(date(em_stop_date.text), time('23:59:59'))……
谢谢。。很清晰很详细。。。已经可以了。 也谢谢xiajinxian
做梦的猫 2013-01-06
  • 打赏
  • 举报
回复
1.确认数据窗口对象的两个检索参数设为 datetime 型 2.where 确认设置为 字段名 between :st and :et 3.ldt_start = dateTime(date(em_start_date.text), time('00:00:00')) ldt_end = dateTime(date(em_stop_date.text), time('23:59:59')) dw_1.retrieve(ldt_start, ldt_end, ls_class)
sanyuan35 2013-01-06
  • 打赏
  • 举报
回复
dw_1.retrieve(datetime(date(em_start_date.text)),datetime(date(em_stop_date.text),time('23:59:59')),class) 这样也是会报相同错误。。。。。
sanyuan35 2013-01-06
  • 打赏
  • 举报
回复
引用 5 楼 xiajinxian 的回复:
数据窗口也有date类型的参数 例:retrieve(date('2012-01-01')....)
换成这个是可以的。。。但是这们检索不出当天数据哟
A啦Dbit 2013-01-04
  • 打赏
  • 举报
回复
数据窗口也有date类型的参数 例:retrieve(date('2012-01-01')....)
sanyuan35 2013-01-04
  • 打赏
  • 举报
回复
引用 3 楼 xiajinxian 的回复:
转换成数据窗口需要的类型就好了,
具体是怎么写呢?因为我感觉是转换成数据窗口需要的类型咯,表是date的类型,数据窗口检索参数设为datetime型.麻烦指导。。。。新人,刚学PB
A啦Dbit 2012-12-31
  • 打赏
  • 举报
回复
转换成数据窗口需要的类型就好了,
sanyuan35 2012-12-31
  • 打赏
  • 举报
回复
引用 1 楼 xiajinxian 的回复:
参数数据类型不正确 可以尝试: messagebox('',isdate(deem_start_date.text)) //是否是日期 dw_1.retrieve(date(deem_start_date.text),date(em_stop_date.text), class)
提示是true哟。。真是错了。请教 ,怎么改呢。。
A啦Dbit 2012-12-31
  • 打赏
  • 举报
回复
参数数据类型不正确 可以尝试: messagebox('',isdate(deem_start_date.text)) //是否是日期 dw_1.retrieve(date(deem_start_date.text),date(em_stop_date.text), class)

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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