Source Code Upload Gambar Di Database

download Source Code Upload Gambar Di Database

If you can't read please download the document

description

VB6

Transcript of Source Code Upload Gambar Di Database

Option ExplicitDim DB As New ADODB.Connection'*// Pada form_load tambahkan syntax untuk meload databasenyaPrivate Sub Form_Load()DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;" & _"Data Source=C:\dbaImage.mdb"End Sub'*// Selanjutnya kita buat fungsi untuk mengkonversi gambar kedalam _bentuk data.Function ConvImage(NamaFile As String, ByRef ErrRet As Long) As Byte()On Error GoTo SalahDim UkuranFile As LongDim imgData() As Byte'*// mendapatkan besar file yang akan di load dengan fungsi FileLenUkuranFile = FileLen(NamaFile)'*// Periksa Besar File yang di loadIf UkuranFile > 0 Then'*// Lakukan ReDim variable array sesuai dengan ukuran file yang _diloadReDim imgData(UkuranFile) As Byte'*// Nah disini kita memanipulasi gambar untuk dimasukan ke _database. Sebelumnya kita load gambar tsb dari file, _kemudian masukan byte demi byte ke variable array dengan _metode GETOpen NamaFile For Binary As #1Get #1, , imgDataClose #1'*// Setelah berhasil mendapatkan data tsb, kita lakukan _pemindahan data ke fungsi ConvImageConvImage = imgData'*// Kemudian beri tanda dgn nilai 0, bahwa tidak ada ErrorErrRet = 0Else'*// Beri tanda, bahwa ada ErrorErrRet = 1End IfExit FunctionSalah:'*// Beri tanda, bahwa ada ErrorErrRet = Err.NumberEnd Function'*// Selanjutnya Buat Fungsi untuk menampilkan gambarFunction TampilImage(imgData() As Byte, ByRef ErrRet As Long) _As PictureOn Error GoTo SalahIf UBound(imgData) Then '*// Cek besar data > 0Dim hFile As String'*// Periksa apakah file img.tmp ada pada directory C:hFile = Dir("C:\img.tmp", vbNormal)'*// Jika ada, kita hapus terlebih dahulu dengan fungsi KillIf hFile "" Then Kill "C:\img.tmp"'*// Selanjutnya kita buat file penampung gambar dengan data _yang diterima dari variable imgDataOpen "C:\img.tmp" For Binary As #1Put #1, , imgDataClose #1'*// Setelah file dibuat, kita coba untuk memindahkannya kedalam _fungsiSet TampilImage = LoadPicture("C:\img.tmp")'*// Beri tanda bahwa file berhasil di loadErrRet = 0Else'*// Beri tanda, bahwa ada ErrorErrRet = 1End IfExit FunctionSalah:'*// Beri tanda, bahwa ada ErrorErrRet = Err.NumberEnd Function'*// Setelah dua fungsi diatas dibuat, kita coba dengan menyimpan _sebuah data kedalam database.Private Sub Command1_Click()Dim ErrRet As Long, imgData() As ByteDim Rc As New ADODB.Recordset'*// Melakukan pengisian variable imgData dengan menggunakan fungsi _ConvImage dengan parameter yang dikirim. _Jangan lupa rubah nama file gambar yang akan di loadimgData = ConvImage("C:\vbBeGo\lunatic.bmp", ErrRet)'*// Dikarenakan disini kita menggunakan Type OleObject maka metode _penyimpanan data tidak menggunakan Query melainkan langsung _memanggil nama table nya.Rc.Open "pegawai", DB, 3, 3If ErrRet = 0 Then'*// Buat data baru dengan menggunakan perintah AddNewRc.AddNew'*// Isi pada fieldRc.Fields("NRP") = "001"Rc.Fields("Photo").AppendChunk imgData()'*// Simpan DataRc.UpdateEnd IfRc.CloseEnd Sub'*// Setelah melakukan proses penyimpanan data, kita coba untuk _menampilkannya.Private Sub Command3_Click()Dim ErrRet As Long, imgData As StdPictureDim Rc As New ADODB.Recordset'*// Kita panggil data yang kita simpan tadi dengan menggunakan Query _dengan NRP = 001Rc.Open "Select * from Pegawai Where NRP='001'", DB, 3, 3If Not Rc.EOF ThenSet imgData = TampilImage(Rc("Photo").GetChunk( _Rc("Photo").ActualSize), ErrRet)If ErrRet = 0 Then'*// Kita load gambar dari file ke Object Image1Set Image1.Picture = imgDataEnd IfEnd IfEnd Sub