这条动态sql话语为何无法成功执行

这条动态sql语句为何无法成功执行
ls_sql="select md5info.mingwen into '"+b+"' from md5info where md5info.md5jm='“+sle_1.text+”'"
EXECUTE IMMEDIATE:ls_sql Using sqlca;

b是变量,md5info.md5jm中有一条符合条件的,但b无法获得返回值。

------解决方案--------------------
ls_sql="select md5info.mingwen into "+b+" from md5info where md5info.md5jm='“+sle_1.text+”'"
EXECUTE IMMEDIATE:ls_sql Using sqlca;

b的前后表加引号就OK,
哈哈,轻松得100分,
------解决方案--------------------
b的前后不要加引号就OK
------解决方案--------------------
b前面加一个@ 

ls_sql="select md5info.mingwen into @"+b+" from md5info where md5info.md5jm='“+sle_1.text+”'"
EXECUTE IMMEDIATE:ls_sql Using sqlca;

------解决方案--------------------
最后要不要加一个 ; 号。
你后台数据库是什么? oracle还是sql?
------解决方案--------------------
试试这样写(加了个冒号):
ls_sql="select md5info.mingwen into :"+b+" from md5info where md5info.md5jm='“+sle_1.text+”'"
EXECUTE IMMEDIATE:ls_sql Using sqlca;


------解决方案--------------------
lZ 再查一下PB 的帮助,嵌入式SQL 不是这么写的,试一下:

select mingwen into :b from md5info where md5jm = :sle_1.text using sqlca;

------解决方案--------------------
变量不能是动态的,
动态的话就是SQL里的select into 建立表了
------解决方案--------------------
或者是你看一下游标(或动态游标)
------解决方案--------------------
探讨
引用:
lZ 再查一下PB 的帮助,嵌入式SQL 不是这么写的,试一下:

select mingwen into :b from md5info where md5jm = :sle_1.text using sqlca;


这么写可以,但想用动态sql

------解决方案--------------------
对的,Dynamic SQL Format 3 或Dynamic SQL Format 4

------解决方案--------------------
探讨
引用:
引用:
lZ 再查一下PB 的帮助,嵌入式SQL 不是这么写的,试一下:

select mingwen into :b from md5info where md5jm = :sle_1.text using sqlca;


这么写可以,但想用动态sql


非要用动态SQL,EXECUTE IMMEDIATE 是 Dynamic……

------解决方案--------------------
动态sql,不能使用into变量来取值

动态sql的取值,可以这样来:

string ls_sql,ls_mingwen

ls_sql = select md5info.mingwen from md5info where md5info.md5jm='“+sle_1.text+”'"

prepare sqlsa from :ls_sql;
describe sqlsa into sqlda;
declare myprc dynamic procedure for sqlsa;
execute dynamic myprc using descriptor sqlda;
fetch myprc using descriptor sqlda;
close myprc;

mingwen = getdynamicstring(sqlda,1)