access里的 ole对象 这个数据类型怎么用sql语句中表示 ,比如我要用用sql语句给表(数据中心)添加一个

access里的ole对象这个数据类型怎么用sql语句中表示,比如我要用用sql语句给表(数据中心)添加一个字段为OLE对象的字段,字段名为“声音数据”,应该怎么添加,修... access里的 ole对象 这个数据类型怎么用sql语句中表示 ,比如我要用用sql语句给表(数据中心)添加一个字段为OLE对象的字段,字段名为“声音数据”,应该怎么添加,修改,请写出单条的sql语句,包括OLE对象数据类型字段的添加,修改,删除语句和ole对象字段数据值的添加,修改,删除语句。假设声音文件保存在C:\1.mp3.
百度到可以用 BINARY 添加一个数据类型为二进制的,但他长度只有510.有什么方法让这个数字加长也可以。
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏30(财富值+成长值)
tjrmgs
2014-12-01 · TA获得超过5765个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1034万
展开全部

ACCESS 数据库ole对象数据类型字段是无法直接用SQL语句进行添加和修改文件的。但是这种数据类型字段里存储的ole对象可以直接用SQL语句删除掉,例如:


删除茄洞OLE对象字段不为为空的那些记录

delete from table1 where col_ole is not null  


清空OLE对象字段里存储的文件

update table1 set col_ole=null


至于添加和修改ole对象SQL语句则是无能为力。ACCESS数据表添加、修改、删除ole对象可以采用手动的方式进行操作很方便,也可以用代码来实现。


下面是利用ADO数据访问对象的Stream流对象的代码解决示例。注意代码需要应用ADO2.5以上版本(于VBE编辑器 菜单——工具——引用 勾选Microsoft ActiveX Data Objects 2.5 Library) 假设C盘根目录有1.mp3,  2.mps,   pic1.jpg 这几个音乐和图片文件以及空数据表如图

为ACCESS窗体命令按钮编写下列单击事件过程:

Private Sub Command0_Click()
    Dim cn As ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim strm 颤悔枯As New ADODB.Stream
    Set rs.ActiveConnection = CurrentProject.Connection
    
    '打开ADO流对象
    With strm
        .Type = adTypeBinary  '二进制模式
        .Open
    End With
    '打开记录集
    rs.Open "files", , adOpenKeyset, adLockOptimistic
    
    '添加一条新记录
    前带rs.AddNew
    rs!F_id = "001"
    rs!F_Name = "歌曲1"
    strm.LoadFromFile "C:\1.mp3" '读取音乐文件
    rs!file = strm.Read     '存入音乐文件
    rs.Update  '保存新增
    
    '再添加一条新记录
    rs.AddNew
    rs!F_id = "002"
    rs!F_Name = "歌曲2"
    strm.LoadFromFile "C:\2.mp3"
    rs!file = strm.Read
    rs.Update
    
    '将刚才存储的歌曲2删除掉
    rs.MoveLast
    rs!file = Null
    rs.Update
    
    '将最后那条记录改为存储图片1
    rs.MoveLast
    rs!F_Name = "图片1"
    strm.LoadFromFile "C:\pic1.jpg"
    rs!file = strm.Read
    rs.Update
    
    '释放对象
    rs.Close
    strm.Close
    Set rs = Nothing
    Set strm = Nothing
End Sub

点击命令按钮后得到下图效果


再给一点有用的建议,ACCESS数据库的容量有限只有2G大小,如果在数据表里存储大量的图片和音乐这类文件,数据库会很容易变得体积庞大而效率低下甚至不可用。如果需要存储大量文件型数据时建议数据表里只存储文件路径而不要实际存储文件,这种做法将更加可取。

更多追问追答
追问
我已经用其他方法构造了这个语句,可以用SQL新建这个数据类型了。作为开发者,就别指望客户能帮你手动新建这样的东西。
追答
您说的没错,在创建表和修改表时用SQL定义一个OLE类型字段是可以实现的。但是向OLE字段里写入文件数据我暂时还未发现通过运行SQL语句得以实现的办法,本人愿意虚心请教。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thengj
2021-06-09
知道答主
回答量:4
采纳率:0%
帮助的人:3127
展开全部
OLEObject
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式