OLE对象如何使用
在数据库中设置了一个字段为ole对象类型,
如何存储和打开查看ole对象,
在窗体中要求可添加和查看。
急!!!
问题点数:50、回复次数:15Top
1 楼chuting(学习的动力)回复于 2004-05-04 14:34:12 得分 0
有人吗Top
2 楼yoyofish(给我个方向)回复于 2004-05-04 14:54:33 得分 10
数据库用的是什么数据库?有ole对象类型?
ole我倒是知道一点Top
3 楼mxfeng(老子说:善战者不怒)回复于 2004-05-04 16:51:44 得分 0
学习Top
4 楼kmzs(.:RNPA:.山水岿濛)回复于 2004-05-04 17:30:39 得分 0
可能吗?Top
5 楼chuting(学习的动力)回复于 2004-05-05 09:03:22 得分 0
access数据库啊,控件里也有ole对象啊Top
6 楼chuting(学习的动力)回复于 2004-05-05 12:01:42 得分 0
???Top
7 楼chuting(学习的动力)回复于 2004-05-07 14:34:13 得分 0
大家都在放假???Top
8 楼swans(swan.net)回复于 2004-05-07 15:25:49 得分 2
ACCESS中ole对象字段实际是保存二进制数据的字段类型,
保存的数据可以释放为文件,或者读取后作为二进制流进行处理。Top
9 楼yoyofish(给我个方向)回复于 2004-05-07 17:18:04 得分 5
http://support.microsoft.com/default.aspx?scid=kb;en-us;205635&Product=vbb
楼主看看吧
先拉出个ole控件和data控件
把ole和data控件绑定
通过data的recordset来进行添加删除修改存储等等Top
10 楼chuting(学习的动力)回复于 2004-05-09 09:34:16 得分 0
能给个例子吗,多谢!Top
11 楼cslf(cs)回复于 2004-05-09 10:44:56 得分 5
操作OLE数据提示:
rs.appendchunk
rs.getchunkTop
12 楼kissoflife(明月高楼休独倚,酒入愁肠,化作相思泪!)回复于 2004-05-09 11:23:49 得分 13
以下代码操作ole字段:
'存储文件到数据库
Public Function WriteToDB(ByRef col As ADODB.Field, ByVal FileName As String) As Boolean
On Error GoTo ErrMsg
Dim mStream As ADODB.Stream
Set mStream = New ADODB.Stream
WriteToDB = False
mStream.Type = adTypeBinary
mStream.Open
mStream.LoadFromFile FileName
col.Value = mStream.Read
mStream.Close
Set mStream = Nothing
WriteToDB = True
Exit Function
ErrMsg:
MsgBox "存储文件到数据库时出现错误." & vbCrLf & Err.Description, vbExclamation + vbOKOnly, "提示"
End Function
'设置临时文件(用于把ole字段读到一个文件里面,如果是图片,便可加载到图片框里面)
Public Function ReadDB(col As ADODB.Field, ByRef imgFile As String) As Boolean
On Error GoTo ErrRead
Dim mStream As New ADODB.Stream
ReadDB = False
If col.ActualSize < 200 Then Exit Function
mStream.Type = adTypeBinary
mStream.Open
mStream.Write col.Value
mStream.SaveToFile imgFile, adSaveCreateOverWrite
ReadDB = True
Exit Function
ErrRead:
MsgBox "设置临时文件时出现错误:" & vbCrLf & Err.Description, vbInformation, "提示"
ReadDB = False
End Function
WriteToDB的使用示例:
.....
'把图片写入到数据库
strSQL = "select * from " & strTable _
& " where BBID='" & strBBID & "'" _
& " and ReportIndex=" & objControl.Index _
& " and ReportType=" & WPhoto
Set rsTemp = New ADODB.Recordset
rsTemp.Open strSQL, GCon, adOpenDynamic, adLockOptimistic
WriteToDB rsTemp("ReportPhoto"), mstrTempFile
rsTemp.Update
rsTemp.Close
Top
13 楼kissoflife(明月高楼休独倚,酒入愁肠,化作相思泪!)回复于 2004-05-09 11:28:33 得分 15
ReadDB使用示例:
...
'检查是否有图片
If Not (IsNull(rsReport("ReportPhoto"))) Then
If Dir(mstrTempFile) <> "" Then Kill mstrTempFile
ReadDB rsReport("ReportPhoto"), mstrTempFile
Set Picture1.Picture = LoadPicture(mstrTempFile)
End If
Top
14 楼ryuginka(一米八五的猪)回复于 2004-05-09 11:38:55 得分 0
upTop
15 楼chuting(学习的动力)回复于 2004-05-09 12:51:26 得分 0
Data1 Database Name C:\TEMP\db1.mdb
Data1 RecordSource MyOLETest
OLE1 DataSource Data1
OLE1 DataField Picture
Private Sub Command1_Click()
Data1.Recordset.AddNew
OLE1.CreateEmbed "C:\Windows\Pinstripe.bmp"
' Assume the bitmap file is located at C:\Windows\ folder.
Data1.Recordset.Update
Data1.Recordset.MoveLast
End Sub
如果是EXCEL图表或WORDTop




