资源描述
VB+SQL图片存取vb代码
VB窗体界面如下:
1.把图片写入到Field中函数代码:
Private Sub picsavetodb(ByRef fld As ADODB.Field, diskfile As String)
Const blocksize = 4096
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 Trim(CommonDialog1.filename) For Binary Access Read As sourcefile
filelength = LOF(sourcefile)
If filelength = 0 Then
Close sourcefile
MsgBox Trim(CommonDialog1.filename) & "无内容或不存在!"
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
ReDim bytedata(leftover)
Get sourcefile, , bytedata()
fld.AppendChunk bytedata()
Close sourcefile
End If
End Sub
2.把图片存入SQL数据库XS(学生表)中:
Private Sub Command1_Click()
Dim s As String
Dim bytedata() As Byte
Dim adofld As ADODB.Field
s = "select * from xs where 学号='" & Trim(Text1.Text) & "'"
sqlres.Open s, connectstring, adOpenDynamic, adLockPessimistic
If Not sqlres.EOF Then
Set adofld = sqlres.Fields("照片")
If CommonDialog1.filename <> "" Then
Call picsavetodb(adofld, "filename")
End If
sqlres.Update
3.把图片从SQL数据库读入VB图片框:
Private Sub Command3_Click()
Dim sqlres As ADODB.Recordset
Set sqlres = New ADODB.Recordset
sqlres.Open "select * from xs where 学号='" & Trim(Text1.Text) & "'", connectstring, adOpenDynamic, adLockPessimistic
Dim stream As ADODB.stream
Set stream = New ADODB.stream
stream.Mode = adModeReadWrite
'Image1.Picture = LoadPicture("")
If Not IsNull(sqlres.Fields("照片")) Then
stream.Type = adTypeBinary
stream.Open
stream.Write sqlres.Fields("照片")
stream.SaveToFile "filename", adSaveCreateOverWrite
Image1.Picture = LoadPicture("filename")
sqlres.Close
stream.Close
End If
End Sub
4修改图片:
Private Sub Command2_Click()
Dim filename As String
CommonDialog1.Filter = "图像(*.jpg)|*.jpg|位图(*.bmp)|*.bmp"
CommonDialog1.InitDir = App.Path & "\图片库"
CommonDialog1.ShowOpen
filename = CommonDialog1.filename
Image1.Picture = LoadPicture(filename)
End Sub
展开阅读全文