
Save and load picture files in database by using ADO !(SRC)
ActiveX Data Objects (ADO) 2.5
table structure
*************************************************
if exists (select * from sysobjects where id = object_id(N'[dbo].[TEST]')
and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[TEST]
GO
CREATE TABLE [dbo].[TEST] (
[Picture] [image] NULL ,
[ID] [int] NULL ,
[FieldName] [varchar] (100) NOT NULL ,
[Remark] [varchar] (200) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
**************************************************
image class
**************************************************
Option Explicit
Public Function SavePicture(UserAdocon As ADODB.Connection, TableName As
String, FileName As String, Optional Remark As String = "")
Dim rs As New ADODB.Recordset
Dim mStream As New ADODB.Stream
Dim SQL As String
Dim ID As Integer
UserAdocon.CursorLocation = adUseClient
SQL = "select * from " & TableName
rs.Open SQL, UserAdocon, adOpenKeyset, adLockOptimistic
mStream.Type = adTypeBinary
mStream.Open
mStream.LoadFromFile FileName
ID = rs.RecordCount + 1
rs.AddNew
rs.Fields("ID").Value = ID
rs.Fields("FileName").Value = FileName
rs.Fields("Image").Value = mStream.Read
rs.Fields("Remark").Value = Remark
rs.Update
End Function
Public Function LoadPicture(UserAdocon As ADODB.Connection, TableName As
String, OutFileName As String, Optional FileName As String = "", Optional
Remark As String = "")
Dim rs As New ADODB.Recordset
Dim mStream As New ADODB.Stream
Dim SQL As String
UserAdocon.CursorLocation = adUseClient
SQL = "select * from " & TableName
If Len(Trim(FileName)) > 0 Then
SQL = SQL & " where FileName='" & FileName & "'"
Else
End If
rs.Open SQL, UserAdocon, adOpenKeyset, adLockOptimistic
mStream.Type = adTypeBinary
mStream.Open
mStream.Write rs.Fields("Image").Value
mStream.SaveToFile OutFileName, adSaveCreateOverWrite
End Function
Public Function DeletePicture()
'develop by yourself
End Function