两种解决办法:
1、将路径与文件名存入数据库
2、在数据库表中建立BLOB等二进制大文本类型域。 真正的朋友
1、将路径与文件名存入数据库
2、在数据库表中建立BLOB等二进制大文本类型域。 真正的朋友
解决方案 »
- VB连接ACCESS数据库遇到的基础问题,求解
- 请问各位大侠,如何把listview的表格线和数据一起打印出来?实现各条记录的对齐
- VB读文本文件出现的怪事,求解惑
- 这个网站:http://www.softwww.com 中的一款聊天软件,要出售源代码,我准备买一套,大家认为这样的软件的源代码值多少钱
- 这个函数如何写???(急!!!本人只有30分了所以只能给30了)
- 如何修改某一窗体的状态栏
- 这个送女朋友好吗
- 关于media play的问题
- rs.Open "SELECT distinct * FROM tempdb where year='"&choice&"'", cn, adOpenStatic, adLockOptimistic在VB里面这句就是报错,还望指
- 送分了,极简单的问题:这段代码为什么不能用
- mciSendString 函数在指定播放窗口大小后cpu占用率问题
- 请教高手--如何实现来电显示功能?
用来存储图片的字段PIC用Image类型:
包括读写两部分.
哎,舍不得呀,还是贴出来了,没有文件大小限制.'***********************************************
Dim Conn As New ADODB.Connection
Dim FileName As String
Const BLOCKSIZE = 4096
Dim ADORst As New ADODB.Recordset 'ADODB Recordset
Dim ADOFld As ADODB.FieldPrivate Sub Command1_Click()Save_Click Dim arsfile As ADODB.Recordset
Dim aa As ADODB.Record
Dim n As Long
Dim arrBytes() As Byte
Set arsfile = New Recordset
arsfile.Open "select * from A_file where id=2", Conn, adOpenStatic, adLockOptimisticn = arsfile.Fields("word").ActualSize
ReDim arrBytes(1 To n) As Byte
arrBytes = arsfile.Fields("PIC").GetChunk(n) Open App.Path & "\test2.jpg" For Binary As #1
Put #1, , arrBytes
Close #1End SubPrivate Sub Form_Load()
Set Conn = New Connection
Conn.CursorLocation = adUseClient
Conn.Provider = "MSDataShape"
Conn.Open "driver={sql server};server=10.0.0.1;uid=sa;pwd=;database=cmstest;"
ADORst.Open "A_File", Conn, adOpenDynamic, adLockOptimistic
'Set ADOFld.Recordset = ADORst '
End Sub Private Sub SaveToDB(ByRef Fld As ADODB.Field, DiskFile As String)
Dim byteData() As Byte
Dim NumBlocks As Long
Dim FileLength As Long
Dim LeftOver As Long
Dim SourceFile As Long
Dim i As Long
SourceFile = FreeFile
Open App.Path & "\test.jpg" For Binary Access Read As SourceFile
FileLength = LOF(SourceFile)
If FileLength = 0 Then
Close SourceFile
MsgBox DiskFile
Else
NumBlocks = FileLength \ BLOCKSIZE
LeftOver = FileLength Mod BLOCKSIZE
Fld.Value = Null
ReDim byteData(BLOCKSIZE)
For i = 1 To NumBlocks
Get SourceFile, , byteData()
Fld.AppendChunk byteData()
Next i
ReDim byteData(LeftOver)
Get SourceFile, , byteData()
Fld.AppendChunk byteData()
Close SourceFile
End If
End Sub Private Sub Save_Click()
ADORst.AddNew
ADORst("id").Value = 2
Set ADOFld = ADORst("PIC")
Call SaveToDB(ADOFld, FileName) ADORst.Update
End Sub
这句的作用是什么呢。
这句的作用是什么呢。补充:
为什么在for 中不直接用filelength???
get命令用了fileget代替。
如果想把一个内容赋值给数组,不行啊。