标题:看看pb中sql为什么没有执行?
只看楼主
john816
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-4-23
 问题点数:0 回复次数:4 
看看pb中sql为什么没有执行?
我在pb中需要执行sql语句,但程序就是不执行,请各位帮忙看看什么原因?
String ls_sql
dec {2} v1

ls_sql="select count(*) into :v1 from ren"
execute immediate :ls_sql;
If sqlca.sqlcode <> 0 Then
rollback;
MessageBox("错误", sqlca.sqlcode);
else
commit;
MessageBox("成功", sqlca.sqlcode);
End If
如果把into :v1去掉,则执行成功,否则错误,问题在于sqlca.sqlcode都是0
搜索更多相关主题的帖子: sql 
2007-04-23 23:34
路過
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:160
专家分:111
注 册:2006-12-15
得分:0 
要用這個動態語句。
DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA ;

PREPARE SQLSA FROM :mysql ;

OPEN DYNAMIC my_cursor ;

FETCH my_cursor INTO : num;

CLOSE my_cursor ;


2007-04-26 08:42
黎明前的黑暗
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-6-7
得分:0 
:V1在""内被作为字符串看待.绝对不符合SQL语法,所以一定是错的,
对于PB来说,你这个简单的SELECT语句完全可以直接执行,不必那么麻烦.
2007-06-07 15:57
fyh
Rank: 1
等 级:新手上路
威 望:1
帖 子:52
专家分:0
注 册:2006-4-5
得分:0 
select count(*) into :v1 from ren; //sql语句可在PB脚本中执行啊

If sqlca.sqlcode <> 0 Then
rollback;
MessageBox("错误", sqlca.sqlcode)
else
commit;
MessageBox("成功", sqlca.sqlcode)
End If

2007-06-09 21:46
langzping
Rank: 1
等 级:新手上路
威 望:1
帖 子:10
专家分:0
注 册:2007-6-13
得分:0 
晕 啊,为什么还要 rollabck 和 commit 直接写不就可以了吗

Long ll_count
SELECT count(*) INTO :ll_count FROM ren;
If ll_count > 0 Then
MessageBox('','找到资料',exclamation)
Else
没有
End If
2007-06-13 21:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-134395-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.073203 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved