你好,这段代码我试了一下,可是
Put #1, , rs("photos")
'错误发生在这里“编译错误:不能GET和PUT一个对象引用变量或包含对象引用的用户定义类型”
请问这段代码你运行有问题吗,我现在也急需解决这个问题,谢谢你了
Put #1, , rs("photos")
'错误发生在这里“编译错误:不能GET和PUT一个对象引用变量或包含对象引用的用户定义类型”
请问这段代码你运行有问题吗,我现在也急需解决这个问题,谢谢你了
解决方案 »
- 点击按钮打开网址最好的方法是什么?
- 窗体unload后,再show,怎么会这样??请高手指教
- 如何获取本地计算机所有用户名,标志,登陆类型,所属组及状态?
- 求高手帮我用VB做个简易计算器,而且可以显示答题情况。急急急!!!
- 如何连接Sql sever 97网络数据库?
- 如何捕捉ADO错误
- 给文件夹加一个密码
- VB鼠标如何拖动文件?
- 请问如何在WIN98和WIN2000下屏蔽Alt+F4键?(不单针对该窗口起作用,而是要针对整个WINDOWS起作用)
- 万分紧急!请问如何获取没有相应的程序窗体?
- ●●●●我发现一个好工具软件,大家来看看,跟贴者有分,不够再加。
- 十万火急!求救!关于存储图片到sql
Dim cn As ADODB.Connection
Dim strm As ADODB.Stream
Dim rst As ADODB.Recordset
Private Sub Command1_Click()
'移动数据记录指针超出范围出错
rst.MoveNext
End SubPrivate Sub Form_Load()
Set cn = New ADODB.Connection
Set strm = New ADODB.Stream
Set rst = New ADODB.Recordsetcn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & ".\data\xj.mdb"
strm.Mode = adModeReadWrite
strm.Type = adTypeBinary
strm.Open
'****************向数据库存入照片
strm.LoadFromFile App.Path & ".\icon\bb.jpg" '文件名不要打错
rst.Open "select * from xj2000ph", cn, adOpenKeyset, adLockOptimistic
rst.AddNew
rst.Fields.Item(0).Value = "12361" '数据库定义的第一个字段是主键所以必须赋值
rst.Fields.Item(1).Value = strm.Read '第二个字段是照片字段
rst.Update
rst.Close
'***************************从数据库读取图片
Set rst = New ADODB.Recordset
rst.Open "select * from xj2000ph ", cn
'**********************第一种方法
strm.Write (rst.Fields("照片").Value)
strm.SaveToFile App.Path & ".\aa.bmp", adSaveCreateOverWrite
Image1.Picture = LoadPicture(App.Path & ".\aa.bmp")
'**********************第二种方法
Image1.DataField = rst!照片.Name
Set Image1.DataSource = rst
' rst.Close
' Set rst = Nothing'*************将数据库图片字段绑定至image2
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & ".\data\xj.mdb"
Adodc1.RecordSource = "xj2000ph"
Adodc1.Refresh
Image2.DataField = Adodc1.Recordset.Fields("照片").Name
'**************************
End Sub
Option Explicit
Dim conn As ADODB.Connection
Dim Chunk() As Byte
Dim lngLengh As Long
Dim intChunks As Integer
Dim intFragment As Integer
Const ChunkSize = 1000
Const lngDataFile = 1Private Sub Savepic()
Open "c:\YOU.gif" For Binary Access Read As lngDataFile
lngLengh = LOF(lngDataFile)
If lngLengh = 0 Then Close lngDataFile: Exit Sub
intChunks = lngLengh \ ChunkSize
intFragment = lngLengh Mod ChunkSize
'OpenData 打开数据库
Dim i As Integer
Dim rs As New ADODB.Recordset
Dim strQ As String
If rs.State = adStateOpen Then rs.Close
strQ = "Select * From [mydata]"
rs.Open strQ, conn, adOpenStatic, adLockOptimistic
On Error Resume Next
rs.AddNew
ReDim Chunk(intFragment)
Get lngDataFile, , Chunk()
rs.Fields("rs_photo1").AppendChunk Chunk()
ReDim Chunk(ChunkSize)
For i = 1 To intChunks
Get lngDataFile, , Chunk()
rs.Fields("rs_photo1").AppendChunk Chunk()
Next i
rs.Update
rs.Close
Close lngDataFile
Call ShowPic
End SubPublic Sub ShowPic()
'OpenData 打开数据库
Dim i As Integer
Dim rs As New ADODB.Recordset
Dim strQ, filename As String
If rs.State = adStateOpen Then rs.Close strQ = "Select * From [mydata]"
rs.Open strQ, conn, adOpenStatic, adLockOptimistic
If rs.EOF <> True Then
rs.MoveLast
Else
Exit Sub
End If
On Error Resume Next
Open "pictemp" For Binary Access Write As lngDataFile
lngLengh = rs.Fields("rs_photo1").ActualSize
intChunks = lngLengh \ ChunkSize
intFragment = lngLengh Mod ChunkSize
ReDim Chunk(intFragment)
Chunk() = rs.Fields("rs_photo1").GetChunk(intFragment)
Put lngDataFile, , Chunk()
For i = 1 To intChunks
ReDim Buffer(ChunkSize)
Chunk() = rs.Fields("rs_photo1").GetChunk(ChunkSize)
Put lngDataFile, , Chunk()
Next i
Close lngDataFile
filename = "pictemp"
Picture1.Picture = LoadPicture(filename)
Image1.Stretch = True
Image1.Picture = Picture1.Picture
Kill filename
End Sub