retrieve问题!请帮帮忙!着急呀!:(
我使用一个datastore的uo,修改where子句之后,进行retrieve,结果却是-1
我将retrieve之前的sql语句提出来,单独运行,可以提出数据,修改where子句时,modify都没有报错。请问为什么会出现retrieve失败的问题?
谢谢!此外祝大家圣诞快乐!
问题点数:89、回复次数:9Top
1 楼946(情系会计)回复于 2001-12-24 17:43:13 得分 0
string lstr_sql
lstr_sql=dw_1.getsqlselect()
messagebox('',lstr_sql)
你看看就知道了?Top
2 楼crystal2152(渊源)回复于 2001-12-24 17:51:04 得分 0
提取的不就是retrieve之前的sql 语句吗?
我说过了,将这部分直接放到pb下去运行是可以提出数据的,所以我才不明白为什么会出错呀!
不过,还是谢谢你的帮助
谢谢,祝你圣诞快乐!:)Top
3 楼zhugejunshi(诸葛军师)回复于 2001-12-24 17:53:31 得分 9
麻烦把代码贴出来吧,这样看不明白Top
4 楼crystal2152(渊源)回复于 2001-12-24 18:06:22 得分 0
程序如下:
uo_1 pre_datastore//变量类型为uo_preedit,名为pre_datastore
pre_datastore=create uo_1
pre_datastore.settransobject(sqlca)
ls_newsql="datawindow.table.select=~"" +ls_oldsql+is_wheresql+ "~""
ls_revalue=pre_datastore.modify(ls_newsql)
if ls_revalue="" then
li_rerow=retrieve(pre_datastore)
debug时看到的如下:
ls_newsql=datawindow.table.select=" SELECT A.reserve.id , A.reserve.control_id , A.reserve.mark,A.reserve.name FROM A.reserve where (upper(A.reserve.name) like upper('%%'))and (A.reserve.mark='0')"
这段sql语句可以执行,并提出数据,但是li_rerow却=-1,所以我觉得是不是我的uo建的不对?
我用datastore建的,能够直接从uo上看到数据窗口,是不是不对呀是不是应该看不到数据窗口,只有当查看属性的时候才能够看到数据窗口的名字?该怎么作呢?
Top
5 楼bugforever(debug)回复于 2001-12-24 18:47:42 得分 50
这样试一下:不用DataObject,直接托一个DataWindow到窗口,改名为pre_datastore
再试一下行不行Top
6 楼946(情系会计)回复于 2001-12-25 08:30:43 得分 30
ls_revalue=pre_datastore.modify(ls_newsql)
改成
pre_datastore.setsqlselect(ls_newsql)
Top
7 楼crystal2152(渊源)回复于 2001-12-25 09:03:33 得分 0
仍旧是-1
:(Top
8 楼946(情系会计)回复于 2001-12-25 09:09:34 得分 0
uo_1改成datastoreTop
9 楼crystal2152(渊源)回复于 2001-12-25 09:29:03 得分 0
bugforever(debug) :
多谢!你的方法的确能查出错来
我忘了对这个表赋权限了:PTop




