如何用SQL语句实现下面之问题!?

liujuaner 2003-11-30 08:47:52
在SQL语句中怎么将一个String型的数据更新到数据库表中一个Blob型的字段中?!
反过来,怎么将数据库表中一个Blob型的字段数据变为String型数据?!
有人说用这个方法:EG:
SELECTBLOB FSyntax from t_bill where fbilltypeno='Pur'

updateblob t_billprintdesign set fsyntax = "release 7;
datawindow(units=0 timer_interval=0 color=16777215 processing=0 print.documentname="" ……
where ……
可是实现不了!不知道到底是怎么解决的!
...全文
23 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujuaner 2003-12-01
  • 打赏
  • 举报
回复
小小鸟说的有道理,烦请洋葱头再讲一下啦!真是太感谢了!
我主要是想用这个来动态作DW的,我将数据库中一个字段设为TEXT型的,该字段存储的是创DW的语法,现在我作成了一个DW并将其语法导出来了,可是我却不能将这些语句导到表里面!很短的一些字符串是可以放进去的了,现在就是要解决类似一个DW语法那样的语句如何放进去的!放的时候有没有简便的方法呵!
meiyuntao 2003-11-30
  • 打赏
  • 举报
回复
补充一下,每次使用selectblob取得的blob(长二进制型)最大为32765k,而在数据库中,一个blob型可以最大到2G左右~:)
meiyuntao 2003-11-30
  • 打赏
  • 举报
回复
从数据库中取出一个blob类型就是用的这个语句
SELECTBLOB FSyntax into :lb_bb from t_bill where fbilltypeno='Pur'
注意取得有大小的限制,太大了要按长度分次循环取
string ls_name
blob lb_pic,lb_add
int k,i
long ll_station,ll_left
string ls_blob
sqlca.autocommit = true
select datalength(nopic) into :ll_station from datapic where noname= :ls_name using sqlca;
if ll_station >32765 then
i = ll_station / 7000 + 1
elseif ll_station <> 0 then
i=1
else
i=0
end if
if i> 1 then
ll_left=mod(ll_station,7000)
for k=1 to i
ll_station = ((k - 1) * 7000) + 1
if k <> i then
selectblob substring(nopic,:ll_station,7000) into :lb_add from datapic where noname=:ls_name using sqlca;
else
selectblob substring(nopic,:ll_station,:ll_left) into :lb_add from datapic where noname=:ls_name using sqlca;
end if
lb_pic+=lb_add
next
else
if i=1 then
selectblob nopic into :lb_add from datapic where noname=:ls_name using sqlca;
lb_pic+=lb_add
end if
end if
sqlca.autocommit =false
最后将blob行转换为string型即可
(注意:blob型为长二进制数据,可不是你说的那样显示的值得,)
将blob转化为string应该如下即可,没有测试过,搂主可以自己查查
string ls_bb
blob lb_bb
ls_bb=string(lb_bb)

更新的语句也一样,但是你上面的有一个问题
使用updateblob更新的字段值也必须是blob型的阿,如下:
string ls_tp
blob lb_tp
lb_tp=blob(ls_tp)
updateblob jbxx set tp=:lb_tp where id=134;(注意,lb_tp必须为blob型)
poemlake 2003-11-30
  • 打赏
  • 举报
回复
洋葱头兄,那么一大堆代码,看了都头晕啊,哪天我要是也遇到楼主这样的问题可要多帮忙啊,我笨啊,你可要给我一条一条的手把手讲啊,呵呵,你先用汉字讲一下原理啊,我先谢了

1,077

社区成员

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

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