急急急!!!!动态sql中的selectblob问题?

jackylam 2003-06-11 02:56:38
急急急!!!!动态sql中的selectblob问题?
程序如下:
ls_temp = '000000000223'
ls_sql = "selectblob zp0000 into :lb_temp from sy_student_photo where subid0 = ?"

PREPARE SQLSA FROM :ls_sql USING sqlca;
EXECUTE SQLSA USING :ls_temp;
---此处返回的sqlca.sqlcode = -1
if sqlca.SQLCODE = 0 THEN
p_1.setpicture(lb_temp)
end if
---有没有解决的办法?
动态sql中是否支持selectblob???


...全文
107 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackylam 2003-06-17
  • 打赏
  • 举报
回复
以上各位大虾给的方法都试过了,还是不行啊,怎么办,救救我啊。
sun2927 2003-06-12
  • 打赏
  • 举报
回复
up
大雄之家 2003-06-12
  • 打赏
  • 举报
回复
如果后台是sqlserver:

sqlca.autocommit = true

selectblob zp0000
into :lb_temp
from sy_student_photo
where subid0 =:ls_temp;

sqlca.autocommit = false

或者试试
ls_sql = "selectblob "+fieldname+" from "+tablename +" Where " +fieldname +" ="+ls_temp
declare mycursor dynamic cursor for sqlsa;
prepare sqlsa from :ls_sql using tran;
open dynamic mycursor;
fetch mycursor into :lb_temp;
close mycursor;
看行不行呀!
tarky_z 2003-06-12
  • 打赏
  • 举报
回复
to:水煮活鱼,不幸地告诉你,selectblob不支持动态的sql。我遇到过和你一样的问题:表名和字段名都是变量。最后的方法是写个函数,choose case 一个一个解决。好像很笨,但是确实没有其他办法:)
tchj99 2003-06-12
  • 打赏
  • 举报
回复

ls_sql = "selectblob "+fieldname+" from "+tablename +" Where " +fieldname +" ="+ls_temp
declare mycursor dynamic cursor for sqlsa;
prepare sqlsa from :ls_sql using tran;
open dynamic mycursor;
fetch mycursor into :lb_temp;
close mycursor;
试试行不行
jackylam 2003-06-11
  • 打赏
  • 举报
回复
如果里面的字段和表名都是变量怎么办?
比如:
ls_sql = 'selectblob ' + ls_column_name + ' into :lb_temp from ' + ls_table_name + 'where subid0 = ?'

请继续指教
freeliu 2003-06-11
  • 打赏
  • 举报
回复
ls_sql = "selectblob zp0000 from sy_student_photo where subid0 = ?"

PREPARE SQLSA FROM :ls_sql USING sqlca;
EXECUTE SQLSA USING :ls_temp;
fetch sqlsa into :lb_temp;
---此处返回的sqlca.sqlcode = -1
if sqlca.SQLCODE = 0 THEN
p_1.setpicture(lb_temp)
end if
waterstony 2003-06-11
  • 打赏
  • 举报
回复
如果后台是sqlserver:

sqlca.autocommit = true

selectblob zp0000
into :lb_temp
from sy_student_photo
where subid0 =:ls_temp;

sqlca.autocommit = false
fibbery 2003-06-11
  • 打赏
  • 举报
回复
楼主对四种动态sql语句应用的条件还不太了解,应该看看帮助,第四种功能最强大,一般用到第三种就能解决绝大部分需求了。
fibbery 2003-06-11
  • 打赏
  • 举报
回复
用嵌入式sql语句就行了,不用动态的
selectblob zp0000
into :lb_temp
from sy_student_photo
where subid0 =:ls_temp;

1,079

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧