麻烦帮我看看下面几条语句为什么不行?
这几句不行,下面 mle_3.text和 mle_4.text 内容是一样的,也和 is_return2的内容是一样的,问题代码在我所附的完整代码第 68行
if dw_action2.setsqlselect(mle_3.text) = 1 then
dw_action2.reset()
dw_action2.retrieve()
dw_action2.setsqlselect(mle_4.text)
else
messagebox('','DW2自定义查询条件不符要求,请重新设置!')
return
end if
后来用了这几句就行
ls_syntax2 = SQLCA.SyntaxFromSQL(is_return2, "style(type=grid)", ls_err2)
IF Len(ls_err2) > 0 THEN
MessageBox("DW2自定义查询条件不符要求,请重新设置", "错误原因: " + ls_err2)
RETURN
END IF
dw_action2.Create( ls_syntax2, ls_err2)
IF Len(ls_err2) > 0 THEN
MessageBox("DW2自定义查询条件不符要求,请重新设置", "错误原因: " + ls_err2)
RETURN
END IF
dw_action2.settransobject(sqlca)
dw_action2.retrieve()
[解决办法]
这是两个概念啊!
setsqlselect 加载SQL,条件是,列都不能变,就是条件变化(where 后面)
如果光写了的条件,
要用原SQL组成一起
每次用后,还要加回原sql
第二个是动态创建DW的,DW都是重建的
[解决办法]
同意二楼的说法。
先用GetSQLSelect取出原始的
string old_select, new_select, where_clause
// Get old SELECT statement
old_select = dw_emp.GetSQLSelect()
// Specify new WHERE clause
where_clause = "WHERE ..."
// Add the new where clause to old_select
new_select = old_select + where_clause
// Set the SELECT statement for the DW
dw_emp.SetSQLSelect(new_select)