如何动态改变数据窗口的sql语句

MINDNET 2004-11-26 02:30:18
有一数据窗口的sql语句是这样的:
SELECT sfdj.puwei_no,
sfdj.nian,
sfdj.yue,
sfdj.jilajin,
sfdj.sjymd,
wysfmx.feiyong,
wysfmx.jine,
hetong.shichang,
hetong.shichang_no,
hetong.shichangmx,
sfdj.sfdj_no,
sfdj.sf_no,
wysfhz.lsh
FROM sfdj,
wysfmx,
feiyong,
hetong,
wysfhz
WHERE ( wysfmx.feiyong_no = feiyong.feiyong_no ) and
( sfdj.sf_no = wysfmx.lsh ) and
( sfdj.sf_no = wysfhz.lsh ) and
( wysfhz.hetong_no = hetong.hetong_no ) and
( ( sfdj.sjymd >= :as_dates ) AND
( sfdj.sjymd <= :as_datee ) )
我想动态的在最后加一个条件 and (hetong.shichang_no = '0001')
用setsqlselect()语句后返回-1
如何没有( ( sfdj.sjymd >= :as_dates ) AND ( sfdj.sjymd <= :as_datee ) ) 这句时返回是 1
请问是否在动态改变数据窗口的sql语句时原语句中不能有参数.
...全文
162 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
double22822 2004-11-27
  • 打赏
  • 举报
回复
先 string ls_Sql
ls_Sql = dw_1.GetSqlSelect()
然后 ls_Sql=ls_Sql+ "and (hetong.shichang_no = ~~'0001~~')"
然后dw_1.modify("DataWindow.Table.Select='" + ls_Sql+"'")
这时语法对了.
不过不能连续用,你再用的时候应该检测ls_sql是不是已经有了你要加的条件.

double22822 2004-11-27
  • 打赏
  • 举报
回复
有参数的不动态的该sql语句.
MINDNET 2004-11-27
  • 打赏
  • 举报
回复
先去了参数,再加条件,可以,但是比较烦。
MINDNET 2004-11-26
  • 打赏
  • 举报
回复
问题是有参数的数据窗口可以动态的改sql语句吗?
cdmhua 2004-11-26
  • 打赏
  • 举报
回复
string ls_Sql
ls_Sql = dw_1.GetSqlSelect()
然后 ls_Sql=ls_Sql+ "and (hetong.shichang_no = '0001')"
最后dw_1.SetSqlSelect()
jackxrh 2004-11-26
  • 打赏
  • 举报
回复
估计是你的 SQL 语句有错误
sxn80 2004-11-26
  • 打赏
  • 举报
回复
你可以取出SQL语句,然后去掉WHERE语句,重新写WHERE语句合并。再试试
MINDNET 2004-11-26
  • 打赏
  • 举报
回复
huangxinru(键盘手)
确实是,不能用参数时 setsqlselect 返回的是
----去掉dw的参数,在程序中用dw.modify()实现---
我想保留参数呀,如何用dw.modify() 实现呀
sxn80 2004-11-26
  • 打赏
  • 举报
回复
先 string ls_Sql
ls_Sql = dw_1.GetSqlSelect()
然后 ls_Sql=ls_Sql+ "and (hetong.shichang_no = '0001')"
最后dw_1.SetSqlSelect()
huangxinru 2004-11-26
  • 打赏
  • 举报
回复
Limitations to using SetSQLSelect : Use SetSQLSelect only if the data source for the DataWindow object is a SQL SELECT statement without retrieval arguments 。
是这样的,有参数的dw,不能用setsqlselect.不过你可以换一种做法,去掉dw的参数,在程序中用dw.modify()实现
li_d_s 2004-11-26
  • 打赏
  • 举报
回复
既然都是动态sql设置了,那干吗不把参数也做到动态sql里面去呢?
zhengshouquan 2004-11-26
  • 打赏
  • 举报
回复
可以带参数,只是执行的时候要加上参数.dw_1.retrieve(as_dates ,as_datee )

1,077

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧