求一段将图片保存到数据库中的代码
如题
[解决办法]
举个例子(使用access数据库),数据库文件名test.mdb,里面建个表personinfo,一个数值型字段id,一个ole对象型字段pic;界面放2个按钮,一个imagebox:
Option ExplicitPrivate glbConn As ADODB.ConnectionPrivate mStream As New ADODB.StreamPrivate adoRs As ADODB.RecordsetPrivate 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.CloseEnd Sub''Private Sub Form_Unload(Cancel As Integer)' If mStream.State <> adStateClosed Then mStream.Close' Set mStream = Nothing'End Sub'Option ExplicitPrivate 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.CloseEnd SubPrivate 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.OpenEnd SubPrivate 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 = NothingEnd Sub