为什么我的游标不起作用?
为什么我的游标不起作用?
楼主arthurchi(弛)2002-11-22 20:53:50 在 PowerBuilder / Pb脚本语言 提问 if (trim(sle_1.text)="") then
messagebox("attention!","请正确填写查询信息")
return
end if
int num,n
num=integer(trim(sle_1.text))
DECLARE tu CURSOR FOR
SELECT "tushu"."书名"
FROM "tushu"
WHERE "tushu"."图书编号" = :num
;
open tu;
n=SQLCA.SQLnrows
if(n=0) then
beep(1)
messagebox("attention!","no this book")
close tu;
return
else
dw_1.setfilter("图书编号=""+trim(sle_1.text)+""")
dw_1.retrieve("图书编号=""+trim(sle_1.text)+""")
end if
close tu; 问题点数:20、回复次数:10Top
1 楼blueswind(大脸狐狸)回复于 2002-11-23 02:16:51 得分 0
干嘛用游标,直接select就得了
游标是检索多条记录用的Top
2 楼myclife(反方向的钟)回复于 2002-11-23 14:45:36 得分 0
DECLARE tu CURSOR FOR
SELECT "tushu"."书名"
FROM "tushu"
WHERE "tushu"."图书编号" = :num
;
不建议使用中文列名,你的声明有问题
DECLARE tu CURSOR FOR
SELECT tushu.书名
FROM tushu
WHERE tushu.图书编号 = :num;
使用
OPEN tu;
Fetch tu INTO :var
............
Top
3 楼ice2water(冰冻三尺)回复于 2002-11-23 14:56:00 得分 0
没有fetch,其实使用select语句又简单又快Top
4 楼lsycat()回复于 2002-11-23 14:58:30 得分 0
没有加Fetch tu INTO :var 语句。Top
5 楼hoyu(心茗)回复于 2002-11-23 16:14:44 得分 0
同意 myclife(反方向的钟--忏悔中)Top
6 楼888888888888(888888888888)回复于 2002-11-23 16:39:20 得分 0
同意:两个ice2water(大冰) 、myclife(反方向的钟--忏悔中)
他们说的都对,看你自己选择。Top
7 楼cooltnt(甜甜粥)回复于 2002-11-23 19:56:18 得分 0
open tu;
改为:open tu using sqlca;试试Top
8 楼whb959358(无名)回复于 2002-11-23 20:40:28 得分 0
why not check SQLCA.sqlcode value?
=0,=100 or <0Top
9 楼norman211314(IT民工)回复于 2002-11-27 10:23:52 得分 20
兄弟,你少写了两条语句:
Fetch tu INTO :var
////////////////////////////
if (trim(sle_1.text)="") then
messagebox("attention!","请正确填写查询信息")
return
end if
int num,n
num=integer(trim(sle_1.text))
DECLARE tu CURSOR FOR
SELECT "tushu"."书名"
FROM "tushu"
WHERE "tushu"."图书编号" = :num
;
open tu;
n=SQLCA.SQLnrows
/////////////////////////////////
Fetch tu INTO :var /
/
do while sqlca.sqlcode = 0 then /
/////////////////////////////////
if(n=0) then
beep(1)
messagebox("attention!","no this book")
close tu;
return
else
dw_1.setfilter("图书编号=""+trim(sle_1.text)+""")
dw_1.retrieve("图书编号=""+trim(sle_1.text)+""")
end if
///////////////////////
Fetch tu INTO :var /
loop /
///////////////////////
close tu;
Top
10 楼songfrh(我们看海去)回复于 2002-11-27 10:26:48 得分 0
为什么不使用datastore呢Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
