各位朋友:
    我想做一个资料录入的程序,可是却不知道如何将照片保存到数据库中。由于我前面用的都是DAO,所以这个地方不想使用控件,请赐教谢谢啦。!!!!

解决方案 »

  1.   

    Option Explicit
    Const FLTR = "Pictures|*.jpg*;*.gif*;*.bmp;*.ico|All Files|*.*"
         
    Private Sub Form_Load()
        Dim dbsNew As Database
        Dim tdfNew As TableDef
        Dim dbName As String
        dbName = "c:\NewDB.mdb"
        
        If Dir(dbName) = "" Then
            Set dbsNew = CreateDatabase(dbName, dbLangGeneral)
            Set tdfNew = dbsNew.CreateTableDef("Pictures")        With tdfNew
                .Fields.Append .CreateField("Name", dbText)
                .Fields.Append .CreateField("Picture", dbLongBinary)
            End With
        
            With dbsNew
                .TableDefs.Append tdfNew
                .Close
            End With
        End If
        
        Data1.DatabaseName = dbName
        Data1.RecordSource = "Pictures"
        Text1.DataField = "Name"
        Command1.Caption = "Add Picture"
        Image1.BorderStyle = 1
        Image1.DataField = "Picture"
    End Sub
    Private Sub Command1_Click()
        Dim f%
        Dim fSize&
        Dim Chunk() As Byte
        Dim picFile As String
        
        CommonDialog1.CancelError = True
        On Error GoTo er1    CommonDialog1.Filter = FLTR
        CommonDialog1.ShowOpen
        
        f = FreeFile
        picFile = CommonDialog1.filename
        Open picFile For Binary Access Read As f    fSize = LOF(f)
        ReDim Chunk(fSize)
        Get f, , Chunk()
        Close f
        
        With Data1.Recordset
            .AddNew
            !Picture.AppendChunk Chunk()
            .Update
            .Book = .LastModified
        End With
        
        GoTo er2
        
    er1: Resume er2
    er2: On Error GoTo 0
    End Sub