'image字段是二进制,但不能与VB中的控件交互数据,你可以用下面的方法把图片存入数据库和显示到picture上.
'这两个函数是磁盘文件和ADO的recordset的数据传输,然后用loadpicture加载到控件上.
'你自己看看怎么用,至于具体的使用你自己写吧.
Private Function DatabaseToFile(ByVal DataField As ADODB.Field, ByVal vFileName As String) As String
Dim fnum As Long, bytesleft As Long, bytes As Long
Dim tmp() As Byte
fnum = FreeFile
Open (vFileName) For Binary As fnum
bytesleft = DataField.ActualSize
Do While bytesleft
bytes = bytesleft
If bytes > 8192 Then bytes = 8192
tmp = DataField.GetChunk(bytes)
Put #fnum, , tmp
bytesleft = bytesleft - bytes
Loop
Close #fnum
End FunctionPrivate Function FileToDatabase(ByVal vDataField As ADODB.Field, ByVal vFileName As String)
Dim fnum As Long, bytesleft As Long, bytes As Long
Dim tmp() As Byte
fnum = FreeFile
Open vFileName For Binary As fnum
bytesleft = LOF(fnum)
Do While bytesleft
bytes = bytesleft
If bytes > 8192 Then bytes = 8192
ReDim tmp(1 To bytes) As Byte
Get #fnum, , tmp
vDataField.AppendChunk tmp
bytesleft = bytesleft - bytes
Loop
Close #fnum
End Function
'这两个函数是磁盘文件和ADO的recordset的数据传输,然后用loadpicture加载到控件上.
'你自己看看怎么用,至于具体的使用你自己写吧.
Private Function DatabaseToFile(ByVal DataField As ADODB.Field, ByVal vFileName As String) As String
Dim fnum As Long, bytesleft As Long, bytes As Long
Dim tmp() As Byte
fnum = FreeFile
Open (vFileName) For Binary As fnum
bytesleft = DataField.ActualSize
Do While bytesleft
bytes = bytesleft
If bytes > 8192 Then bytes = 8192
tmp = DataField.GetChunk(bytes)
Put #fnum, , tmp
bytesleft = bytesleft - bytes
Loop
Close #fnum
End FunctionPrivate Function FileToDatabase(ByVal vDataField As ADODB.Field, ByVal vFileName As String)
Dim fnum As Long, bytesleft As Long, bytes As Long
Dim tmp() As Byte
fnum = FreeFile
Open vFileName For Binary As fnum
bytesleft = LOF(fnum)
Do While bytesleft
bytes = bytesleft
If bytes > 8192 Then bytes = 8192
ReDim tmp(1 To bytes) As Byte
Get #fnum, , tmp
vDataField.AppendChunk tmp
bytesleft = bytesleft - bytes
Loop
Close #fnum
End Function
解决方案 »
- 我有2个表在同一个服务器,但在不同的库里面,现在怎么把其中一个表移动到另一个库里面去?包括其中的数据全部移动。
- 已经安装了带高级服务的SQL Server 2005 Express Edition sp2和工具包,请问怎样安装Adventureworks数据库样例?
- 那位高手帮忙解决几个问题?ALL、ANY、SOME关键字分别什么意思?如果在查询未尾加上COMPUTE子句给几个字段做个汇总,那么程序执行这条查询
- 创建表失败,提示创建对象已存在,这是什么问题?
- 求在sql中的建表问题
- SQL Server 7.0 英文版的汉字如何转换到 SQL Server 2000中?
- 数据库对分段函数的处理(来者有分,不够再加,分多的是)
- 请高手赐教
- db2专家请进!两个DB2数据库之间如何进行数据复制
- sql字符串拆分的小问题
- 怎样动态地指定DBCHART的datasource中的dataset???
- Access竟然和SQL Server冲突!
dim temp() as byte
redim temp(rs("photo").ActualSize)as byte
temp=rs("photo").getchunk rs("photo").ActualSize
''''''''''''''''''''''''''
open "c:\temp.bmp" for binary as #1
put #1,,1,temp
close #1
''''''''''''''''''''''''''
picture1.picture=loadpicture(c:\temp.bmp)