怎么清除数据窗口的语法
当前窗口有dw_query和dw_4两个窗口,dw_query 是用来检索的值有fdate,dw_4是检索出来的数据,dw_4的语法为:
select fdate,fcust from seoutstock where ftype=82
- SQL code
string is_sql//数据窗口原始语法string ls_fdate,ls_selectdw_4.settransobject(sqlca)is_sql=dw_4.Getsqlselect()ls_fdate=dw_query.object.fdate[1]ls_select=""if not isnull(ls_fdate) or ls_fdate<>"" thenls_select=" and fdate='"+ ls_fdate +"'"if ls_select="" then ls_select=is_sqlelse ls_select=is_sql+" and "+ls_selectend ifdw_4.setsqlselect(ls_select)dw_4.retrieve()
我第一次输入一个日期可以检索出来,我再次输入日期的时候就检索不出来了。我跟踪了一下发现是is_sql的语法为:
select fdate,fcust from seoutstock where ftype=83 and fdate='2010-10-23' 而不是select fdate,fcust from seoutstock where ftype=83 这是为什么呢
[解决办法]
因为楼主已经在程序中对数据窗口进行了重新设置 dw_4.setsqlselect(ls_select)
你再使用is_sql=dw_4.Getsqlselect()得到的是改更后的
建议楼主设置一局部变更 如ls_oldselect
在窗口的open事件中赋值 ls_oldselect = dw_1.GetSqlSelect()
在查询语句中直接引用 ls_oldselect 即可