hur.cn - 华软网

 热门搜索

请问如何查出datewindows两个日期之间的全部数据

  作者:未知    来源:网络    更新时间:2017/9/29
请问如何查出datewindows两个日期之间的全部数据?

现在我有个dw_1 列出列出了B_1  表里的所有数据

请问如何查处date_1和date_2之间所有B_1表里的数据 显示在dw_1窗口中

打对立刻给分
------华软网友回答------
嗯,你设计dw的时候就可以这样啊

where 字段 between :date_1 AND :date_2

------华软网友回复------
between d1 and d2
------华软网友回复------
where 字段 between :date_1 AND :date_2


恩,对头,写在数据窗口SQL语法
然后retrieve(arg1,arg2)即可

------华软网友回复------
设计数据窗口时色SELECT
的条件设置为where 字段 between :date_1 and :date_2


在程序中:
date1 =...
date2 =...
dw_1.retrieve(date1,date2)

------华软网友回复------
注意
后台数据库不同参数略有不同
如果查询2005-1-1和2005-1-31之间的数据,可能需要使用2005-1-1 00:00:00至2005-1-31 23:59:59
除了between and 以外,还可以使用>= :date1 and <= :date2
------华软网友回复------
同意!
而且参数date1和date2还可以设成string 型,因为用editmask时有时取不出来时间datetime型的数据
------华软网友回复------
dw_1的条件部分:date_column_name >= :date_1 and date_column_name < :date_2 + 1;
然后dw_1.retrieve( date_1, date_2)
如果写成<=date_2的话,只能查出date_1到date_2 - 1 的数据。一定要+1天
------华软网友回复------
不过还不知道你那个字段是什么类型的,如果是date类型的话写成<=date_2也可以的
------华软网友回复------
同意飞鸟的!

如果用2005-1-1 00:00:00 ~2005-1-1 23:59:59来计算,还是会有遗漏的!
遗漏的是:2005-1-1:23:59:59~2005-1-2 00:00:00之间的数据!千万注意!
------华软网友回复------
string ls_where,ls_old_sql,ls_date1,ls_date2
datetime ld_date1,ld_date2
long ll_rowcount

ls_date1=string(dw_condition.object.date1[1],'yyyy-mm-dd')  //取出日期1
ls_date2=string(dw_condition.object.date2[1],'yyyy-mm-dd')  //取出日期2

ls_old_sql = dw_1.getSQLselect()

//check date
if not isnull(ls_date1) and len(string(ls_date1)) > 0 then
ls_where = ls_where + " and convert(varchar(10),send_date,20) >=  '"+ls_date1+"'"   //send_date为要查询过滤的字段
end if
if not isnull(ls_date2) and len(string(ls_date2)) > 0 then
ls_where = ls_where + " and convert(varchar(10),send_date,20) <=  '"+ls_date2+"'"
end if

ls_where = ls_old_sql + ls_where
dw_1.setSQLselect(ls_where)


ll_rowcount = dw_1.retrieve()
dw_1.setSQLselect(ls_old_sql)
------华软网友回复------
UP      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。