求一段将图片保存到数据库中的代码,该怎么解决
求一段将图片保存到数据库中的代码
如题
------解决方案--------------------
举个例子(使用access数据库),数据库文件名test.mdb,里面建个表personinfo,一个数值型字段id,一个ole对象型字段pic;界面放2个按钮,一个imagebox:
如题
------解决方案--------------------
举个例子(使用access数据库),数据库文件名test.mdb,里面建个表personinfo,一个数值型字段id,一个ole对象型字段pic;界面放2个按钮,一个imagebox:
- VB code
Option Explicit Private glbConn As ADODB.Connection Private mStream As New ADODB.Stream Private adoRs As ADODB.Recordset Private Sub Command2_Click() '从数据库提取图片 Dim SQL As String SQL = "select * from personinfo where id=101" Set adoRs = New ADODB.Recordset adoRs.Open SQL, glbConn, adOpenKeyset, adLockOptimistic mStream.Type = adTypeBinary mStream.Open mStream.Write adoRs.Fields("pic").Value mStream.SaveToFile App.Path & "\tmp.jpg", adSaveCreateOverWrite mStream.Close Set Image1.Picture = LoadPicture(App.Path & "\tmp.jpg") adoRs.Update adoRs.Close End Sub ' 'Private Sub Form_Unload(Cancel As Integer) ' If mStream.State <> adStateClosed Then mStream.Close ' Set mStream = Nothing 'End Sub 'Option Explicit Private Sub Command1_Click() '保存图片到数据库 Dim SQL As String SQL = "select * from personinfo where id=101" Set adoRs = New ADODB.Recordset adoRs.Open SQL, glbConn, adOpenKeyset, adLockOptimistic mStream.Type = adTypeBinary mStream.Open mStream.LoadFromFile App.Path & "\test.jpg" adoRs.Fields("pic").Value = mStream.Read mStream.Close adoRs.Update adoRs.Close End Sub Private Sub Form_Load() Set glbConn = New ADODB.Connection glbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & _ "\test.mdb;Persist Security Info=False" glbConn.CommandTimeout = 30 glbConn.CursorLocation = adUseClient glbConn.Open End Sub Private Sub Form_Unload(Cancel As Integer) If adoRs.State <> adStateClosed Then adoRs.Close If mStream.State <> adStateClosed Then mStream.Close If glbConn.State <> adStateClosed Then glbConn.Close Set mStream = Nothing Set adoRs = Nothing Set glbConn = Nothing End Sub