Database 版 (精华区)

发信人: major.bbs@bbs.whnet.edu.cn (虾米), 信区: cndatabase
标  题: PB40中数据窗口属性设定救助
发信站: 武汉白云黄鹤站 (Wed May 21 17:11:27 1997)
转信站: Lilac!ustcnews!ustcnews!rjgcnews!whbbs


   我在一程序中动态的改变了数据窗口的SELECT语句,但在RETRIEVE时总报错,
部分程序代码如下:
ls_clause_old=dw_1.describe("datawindow.table.select")
ls_clause_where="WHERE ( ~~~"jxjw_tab~~~".~~~"jxjw_grade~~~"=" + &
                            string(str_jxrw_1.grade)+" ) and" + &
                    "( ~~~"jxrw_tab~~~".~~~"jxrw_kind~~~" =~~~"" + &
                            str_jxrw_1.kind+"~~~")      and" + &
                    "( ~~~"jxrw_tab~~~".~~~"jxrw_term~~~" =" + &
                            string(str_jxrw_1.term)+")      and" + &
                    "(trim( ~~~"jxrw_tab~~~".~~~"jxrw_special~~~" )=~~~"" + &
                            str_jxrw_1.major+"~~~")"
ls_clause_new=ls_clause_old+ls_clause_where
rc=dw_1.modify("datawindow.table.select='"+ls_clause_new+"'")

if rc<>"" then
  messagebox("",rc)
end if

程序执行以后并未提示MODIFY函数执行出错,但在执行到RETRIEVE函数时总报错:

"某某"列未找到,但在数据库表中并无此列,我需要的是某列的值等于此字符串

其中,str_jxrw_1是一个结构:
      grade     integer;
      kind      char;
      term      integer;
      major     string.
我要在程序中动态的查找表中几个列值与此结构相等的记录,并显示出来,故在
建立数据窗口时未设定其WHERE子句,打算在程序中动态改变其SELECT语句即加WHERE
子句的方法来实现,却出现了这种问题,不知为何?而且我在另一数据窗口脚本
中也有类似的操作,只是列值是INTEGER类型,结果是正确的,现在列值中有STRING
类型便出现错误,

不知是什么原因,敬请高手指教

救急!!!谢谢!!!

--
※ 来源:.武汉白云黄鹤站 s1000e.whnet.edu.cn.[FROM: 202.197.12.10]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.778毫秒