'图片转字节数组
Function Img2Access(ByVal Img As Bitmap) As Byte()
'创建内存流保存图片
Dim ms As MemoryStream = New MemoryStream()
img.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp)
Return ms.ToArray
End Function
1、字段类型设置为ole对象
2、将图片转化为byte数组(lockbits或save到内存流或读取原始文件)
3、把byte数组写入就可以了,和其他类型一样操作
例如:
If pnlStudentPhoto.BackgroundImage IsNot Nothing Then
row.Item("照片") = Img2Access(pnlStudentPhoto.BackgroundImage)
Else
row.Item("照片") = DBNull.Value
End If
SQLHelper.UpdateBySQLQuery("select * from 学生信息", tab)
这就是删和改。然后是读取的时候也和其他的类型一样,只不过读出来的是byte数组,然后用内存流创建图片就可以了:
Function Access2Img(ByVal buff As Object) As Bitmap
If buff Is DBNull.Value Then
Return Nothing
Else
Try
Dim mbuff As Byte() = buff
Return Bitmap.FromStream(New MemoryStream(mbuff))
Catch ex As Exception
MsgBox(ex.ToString)
Return Nothing
End Try
End If
End Function