hur.cn - 华软网

 热门搜索

建立一个datawindow以后,怎样才可以动态修改datawindwo的sql语句呢?急急急急急急急急急

  作者:未知    来源:网络    更新时间:2017/12/5
如题
------华软网友回答------
dw_1.SetSqlSelect()
------华软网友回复------
dw_1.SetSqlSelect()会改变数据窗口的update的属性,你还可以使用:
dw.Modify("DataWindow.Table.Select='"+ls_sql+"' ")
不过,要注意:里面的转义,要用到很多的~符号
------华软网友回复------
SetSqlSelect只能更改where部分,前面选择的及列的顺序都不可以变的
------华软网友回复------
up,如果你用getsqlselect取出的语句拥有数据窗口的一些属性,那么你应该重新建立你的数据窗口,不要用创建数据窗口的向导来完成,用sql语句写数据窗口的数据源.............
------华软网友回复------
dw_1.SetSqlSelect()
dw_1.Modify("DataWindow.Table.Select='"+ls_sql+"' ")
dw_1.Object.DataWindow.Table.Select = ls_sql
------华软网友回复------
使用: dw.Modify("DataWindow.Table.Select='"+ls_sql+"' ")
优点:不会修改表的UPDATE属性、排序等原有信息。前提当然是from中的表名不能修改,修改列没问题。否则,你就用它来做查询界面了。
------华软网友回复------
可以用dw_1.getsqlselect()得到原有dw的SQL语句,如果用户可以修改其内容,做一个编辑框显示出来,修改完后,内容付给字符型变量,再用dw_1.setsqlselect(变量)修改,即可.
------华软网友回复------

------华软网友回复------
调用DataWindow的setsqlselect方法不就行了.具体用法如下:
dw_1.SetSqlSelect()
dw_1.Modify("DataWindow.Table.Select='"+ls_sql+"' ")
dw_1.Object.DataWindow.Table.Select = ls_sql

------华软网友回复------
gz
------华软网友回复------
up
------华软网友回复------
string old_sql,ls_sql
ls_sql=//新的SQL语句
old_sql=dw_1.Object.DataWindow.Table.Select

dw_1.Modify("DataWindow.Table.Select='"+ls_sql+"' ")或

dw_1.Object.DataWindow.Table.Select = ls_sql都可以。
最后最好回复
dw_1.Object.DataWindow.Table.Select = old_sql
以免事件脚本中出现其他问题。
------华软网友回复------
uo_dtoe.dw_data.settransobject(sqlca)
ls_select = uo_dtoe.dw_data.describe("datawindow.table.select")
ls_select = lower(ls_select)
i = pos(ls_select,"group")


if i > 0 then
ls_find = left(ls_select,i - 1)
ls_find1 = right(ls_select,len(ls_select) - i + 1)
else
ls_find = ls_select
setnull(ls_find1)
end if

if trim(uo_input_ty.ddlb_bmdm.text) = "全辖" then
ls_find = ls_find  
else
if l_count > 0 then
ls_find = ls_find + " and v_t_reptcase.kshdm in (select c.kshdm from bmzuhe a,bmzuhe_dz b,bmzuhe_ks c where a.bmdm_alias = b.bmdm_alias and b.bmdm = c.bmdm and a.bmzhdm = " + "~'" + gl_bmzhdm + "~'" + ")"
else
if gl_bmzhdm = "100" then
ls_find = ls_find + " and v_t_reptcase.kshdm not in (select kshdm from bmzuhe_ks)" + &
 " and v_t_reptcase.bmdm in (select b.bmdm from bmzuhe a,bmzuhe_dz b where a.bmdm_alias = b.bmdm_alias and a.bmzhdm = " + "~'" + gl_bmzhdm + "~'" + ")"
else
ls_find = ls_find + " and v_t_reptcase.bmdm in (select b.bmdm from bmzuhe a,bmzuhe_dz b where a.bmdm_alias = b.bmdm_alias and a.bmzhdm = " + "~'" + gl_bmzhdm + "~'" + ")"
end if
end if
end if

ls_select1 = ls_find + ls_find1

uo_dtoe.dw_data.Modify("datawindow.table.select = ~"" + ls_select1 + "~"")

uo_dtoe.dw_data.retrieve(gl_kshrq,gl_zhzhrq)

uo_dtoe.dw_data.Modify("datawindow.table.select = ~"" + ls_select + "~"")
------华软网友回复------
dwsyntax_str = SQLCA.SyntaxFromSQL(sql_syntax, &
presentation_str, ERRORS)

IF Len(ERRORS) > 0 THEN
MessageBox("Caution", &
"SyntaxFromSQL caused these errors: " + ERRORS)
RETURN

END IF
------华软网友回复------
天,这个贴到现在还没有结啊,大伙儿真是白费劲。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。