文档详情

VB+SQL数据库图片存取..doc

发布:2017-01-07约2.26千字共6页下载文档
文本预览下载声明
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 filenam
显示全部
相似文档