john816 发表于 2007-4-23 23:34
看看pb中sql为什么没有执行?
我在pb中需要执行sql语句,但程序就是不执行,请各位帮忙看看什么原因?<BR>String ls_sql<BR>dec {2} v1<BR><BR>ls_sql="select count(*) into :v1 from ren"<BR> execute immediate :ls_sql;<BR> If sqlca.sqlcode <> 0 Then <BR> rollback; <BR> MessageBox("错误", sqlca.sqlcode); <BR> else <BR> commit; <BR> MessageBox("成功", sqlca.sqlcode); <BR> End If <BR>如果把into :v1去掉,则执行成功,否则错误,问题在于sqlca.sqlcode都是0
路過 发表于 2007-4-26 08:42
要用這個動態語句。<BR>DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA ; <BR> <BR> PREPARE SQLSA FROM :mysql ; <BR> <BR> OPEN DYNAMIC my_cursor ; <BR> <BR> FETCH my_cursor INTO : num; <BR> <BR> CLOSE my_cursor ; <BR> <BR>
黎明前的黑暗 发表于 2007-6-7 15:57
:V1在""内被作为字符串看待.绝对不符合SQL语法,所以一定是错的,<br>对于PB来说,你这个简单的SELECT语句完全可以直接执行,不必那么麻烦.<br>
fyh 发表于 2007-6-9 21:46
select count(*) into :v1 from ren; //sql语句可在PB脚本中执行啊<BR> <BR> If sqlca.sqlcode <> 0 Then <BR> rollback; <BR> MessageBox("错误", sqlca.sqlcode) <BR> else <BR> commit; <BR> MessageBox("成功", sqlca.sqlcode) <BR> End If <BR>
langzping 发表于 2007-6-13 21:34
晕 啊,为什么还要 rollabck 和 commit 直接写不就可以了吗<BR><BR>Long ll_count<BR>SELECT count(*) INTO :ll_count FROM ren;<BR>If ll_count > 0 Then<BR>MessageBox('','找到资料',exclamation)<BR>Else<BR>没有<BR>End If
页:
[1]