getsqlselect()为什么在retrieve()后数据窗口一点变化都没有呢。

fbc 2003-08-26 08:23:40
string old_select, new_select, where_clause

old_select = trim(dw_1.GetSQLselect())
old_select = left(old_select,len(old_select) - 1 )
// 新的条件
where_clause = " WHERE ( 'kemid'='"+kemid+"' and 'jylbid' ='"+jylbid +"'))"
// 新的sql语句
new_select = old_select + where_clause
messagebox('',new_select)

dw_1.SetSQLSelect(new_select)

...全文
31 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixiaohui 2003-08-28
  • 打赏
  • 举报
回复
如果有检索的参数的话,不能用setsqlselect来修改sql语句,必须要这样:
dw_1.modify('...select=你的select语句'),具体什么语法我也不记得了,建议你学会使用pb自带的小工具,在‘新建’中的‘tools’选项下有个‘datawindow syntax’的工具,多看看就明白了
mittee 2003-08-27
  • 打赏
  • 举报
回复
同意上楼,sql语句错误:
2).在你的条件中不能用括号,字段不用引号
where_clause = " WHERE kemid='"+kemid+"' and jylbid ='"+jylbid +"'"

不信你可以用查询分析器试一下
  • 打赏
  • 举报
回复
是这样的:
1).你的数据窗口中不能有检索的参数
在用getsqlselect(),setsqlselect()时不能用带参数的数据窗口
2).在你的条件中不能用括号,字段不用引号
where_clause = " WHERE kemid='"+kemid+"' and jylbid ='"+jylbid +"'"
3).你的错误可能是你在条件中加入的引号这样的话
在程序中可能把这样的字段当成了变量,所以没有retrieve()数据
另外在dw_1.retrieve()后要在最后加入
dw_1.setsqlselect(old_select)
你试一下了
我没有试,
好运~~~~~
fbc 2003-08-26
  • 打赏
  • 举报
回复
我在后边跟retrieve()了。
workhand 2003-08-26
  • 打赏
  • 举报
回复
重新检索的意思,
huangxinru 2003-08-26
  • 打赏
  • 举报
回复
后面要加retrieve
fbc 2003-08-26
  • 打赏
  • 举报
回复
dw_1是一个数据窗口
string kemid //条件参数
string jylbid //条件参数

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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