BLOB 用于存储二进制数据
例如 、声音、视频 等数据。
但是由于是 二进制数据
你想在数据库里面
SELECT FROM 表 WHERE BLOB列 = 的, 恐怕是有难度。
一般来说, 如果你的数据库, 二进制的数据, 不允许由外部修改, 只能通过数据库来更新的话,这种情况下, 用 BLOB 列。
例如, 一个安全系统, 有指纹识别的, 那么这个 指纹的信息, 存储在数据库里面,比较合适。
如果系统是把 指纹单独存储在一个外部文件上, 然后数据库上面,只存储一个文件路径的话。
那么如果我不能访问数据库, 但是可以访问那个目录的文件,那么我把你的指纹的文件,换成我的, 这样就出问题了。
但是呢,如果你的数据库, 是一个 Web 网站, 那么二进制的内容,一般是存储在 文件系统上面, 数据库上面,只保存一个 相对路径。 否则 你每次访问, 都要从 数据库 把 BLOB 读取出来, 然后在以流的方式发送给你, 这个速度就慢了。
BLOB和CLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB是可以直接存储文字的。其实两个是可以互换的的,或者可以直接用LOB字段代替这两个。但是为了更好的管理ORACLE数据库,通常像、文件、音乐等信息就用BLOB字段来存储,先将文件转为二进制再存储进去。而像文章或者是较长的文字,就用CLOB存储,这样对以后的查询更新存储等 *** 作都提供很大的方便。
//提交事务
Else
MessageBox( 数据库错误 插入失败 )
ROLLBACK USING SQLCA;
//事务回滚
Return
End If
Blb_tmp=ole_ ObjectData
UPDATEBLOB bmptable SET bmpdata=:blb_tmp
WHERE bmptable bmpno=:bmpno
USING SQLCA; //更新存放的字段
If SQLCA SQLDBCode= Then
MIT USING SQLCA;
//提交事务
MessageBox( 插入成功 入库成功 )
Else
MessageBox( 数据库错误 更新失败 )
ROLLBACK USING SQLCA;
//事务回滚
Return
End If
从数据库中删除BMP
UPDATE bmptable SET bmpdata=
WHERE bmptable bmpno=:bmpno
USING SQLCA;
//bmpno为要删除的编号
If SQLCA SQLDBCode= Then
MIT USING SQLCA;
//提交事务
Else
MessageBox( 数据库错误 更新失败 )
ROLLBACK USING SQLCA;
//事务回滚
Return
End If
DELETE FROM bmptable
WHERE bmptable bmpno=:bmpno
USING SQLCA;
If SQLCA SQLDBCode= Then
MIT USING SQLCA;
//提交事务
MessageBox( 删除成功 删除成功 )
Else
MessageBox( 数据库错误 删除失败 )
ROLLBACK USING SQLCA;
//事务回滚
Return
End If
按编号查询信息
//需要提供一个编号存放在变量bmpno中
SetNull(blb_tmp)
SELECTBLOB bmptable bmpdata INTO :blb_tmp
FROM bmptable
WHERE bmptable bmpno=:bmpno
USING SQLCA;
If Not IsNull(blb_tmp) Then
ole_ ObjectData=blb_tmp
//双击OLE控制唤醒OLE服务器即可编辑
End If
使用PB编程时 每次对数据库进行 *** 作后要注意检查返回结果 以保证程序的可靠性 以上程序只是对 *** 作BLOB数据类型的关键技术进行探讨 通过画板设计相应的用户界面 即可形成一个完整的基于Client/Server结构的数据库应用程序
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
lishixinzhi/Article/program/PB/201311/24626
以上就是关于BLOB用于保存什么全部的内容,包括:BLOB用于保存什么、oracle中Blob和Clob类型的区别、在PowerBuilder中 *** 作BLOB数据的技巧[2]等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)