注册 登录
编程论坛 PowerBuilder

PB 日期查询

guo 发布于 2006-05-23 18:45, 1526 次点击

数据库是sql数据库的,我下面的代码怎么不能实现按日期查询呢
dw_1.settransobject(sqlca)
int result
date start_date
date end_date
start_date=date(em_1.text)
end_date=date(em_2.text)

dw_1.setfilter("birthday>='"+string(start_date)+"' and birthday<='"+string(end_date)+"'")

dw_1.retrieve()
result=dw_1.retrieve()
if result=0 then
messagebox("提示!","在此范围内,查不到相关符合记录!")
end if

运行的时候提示 Type of expressions must match
就是dw_1.setfilter("birthday>='"+string(start_date)+"' and birthday<='"+string(end_date)+"'")
这句出现问题了。

4 回复
#2
ヤ順祺冄繎ヤ2006-05-23 18:47

SQL里保存的是DateTime型.而PB里是日期型..
需要转换..

#3
guo2006-05-23 18:50
你可以把你的转换放上去吗
#4
guo2006-05-23 18:53
dw_1.setfilter(" convert(char(10),birthday,112)>=" + string(start_date,"yyyymmdd"))
我这样转换过也不可以查询啊
#5
ヤ順祺冄繎ヤ2006-05-23 19:00
用不着两边都转换呀,还有哪个convert在SQL Server里我会用,PB里我没用过,我也不知道有没问题..你先将数据库里的数据转换成日期型.
date(string(转换字段,'yyyy/mm/dd'))
再直接与你em的值相比较就可以啦.
1