Tampilkan postingan dengan label Database. Tampilkan semua postingan
Tampilkan postingan dengan label Database. Tampilkan semua postingan

Rabu, 03 Februari 2016

Cara Setting Project Database Visual Basic .NET dengan Microsoft Access Berjalan di Windows 64bit

Cara Setting Project Database Visual Basic .NET dengan Microsoft Access Berjalan di Windows 64bit
Cara Setting Project Database Visual Basic .NET dengan Microsoft Access Berjalan di Windows 64bit | Jika kita membuat project database menggunakan VB.NET dan MS Access pada Windows XP dan Windows 7 32bit, maka dapat berjalan dengan normal. Tetapi ketika kita jalankan project tersebut pada Windows 7 64bit, atau kadang terjadi juga di Windows 8 dan Windows 10, maka akan muncul error "Microsoft.ACE.OLEDB.12.0 Provider is not registered on the local machine" atau "Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine". Kenapa hal ini terjadi? Karena Driver MS Access versi 64 bit memang tidak terinstall secara otomatis di Windows tersebut. Sebenarnya kita bisa menginstall patch agar dapat menginstall Driver tersebut, tetapi tentu saja tidak semudah itu, karena ada kendala berbagai versi Windows dan Service Pack membutuhkan patch yang berlainan, sehingga penulis memilih mengubah setting Project Database VB.NET agar bisa berjalan tanpa harus menginstall Patch Driver MS Access 64 bit.

Jumat, 07 Maret 2014

SQL untuk Custom ORDER BY, Mengurutkan Query Data Sesuai Daftar pada MySQL, Tidak Urut ASCending Maupun DESC

SQL untuk Custom ORDER BY, Mengurutkan Query Data Sesuai Daftar pada MySQL, Tidak Urut ASCending Maupun DESC. Artikel ini penulis pun bingung memberi judul. Maaf jika membingungkan tetapi tetap harus penulis catat di blog ini sebagai minimal catatan pribadi karena suatu saat penulis pasti membutuhkan lagi :)

Intinya adalah jika anda hendak mengurutkan data menggunakan bahasa SQL (Query) biasanya berdasarkan Kolom/Field tertentu dan dengan urutan tertentu, misal ORDER BY nama ASC atau ORDER BY nilai DESC. Bagaimana jika anda ingin mengurutkan sesuai daftar tertentu yang sebenarnya tidak urut, solusinnya menggunakan bahasa SQL berikut ini :

SELECT * FROM pegawai ORDER BY FIELD(departemen, 'Manajemen','HRD', 'Produksi', 'Marketing')

Maksud dari bahasa SQL tersebut adalah mengurutkan pegawai berdasarkan kolom departemen, tetapi kolom departemen tersebut bukan akan diurutkan berdasarkan Huruf depan (ASC atau DESC). Tetapi berdasarkan suatu urutan custom (ditentukan sendiri) yaitu harus departemen 'Manajemen' di atas, diikuti departemen 'HRD', kemudian 'Produksi' dan 'Marketing'.

Semoga Bermanfaat dan Tidak Membingungkan ^_^

Selasa, 21 Januari 2014

Bahasa SQL Untuk Query Data Secara Random pada Database SQLServer, MS Access dan MySQL

Bahasa SQL Untuk Query Data Secara Random pada Database SQLServer, MS Access dan MySQL dibutuhkan merandom atau menyeleksi data secara acak sejumlah tertentu. Misalnya kita ingin menampilkan data pertanyaan soal secara random sebanyak 10 pertanyaan dari semua pertanyaan yang ada, maka bisa kita gunakan teknik berikut ini :

Pada Database MySQL :

SELECT * FROM nama_tabel ORDER BY RAND() LIMIT jml_diinginkan

misal :

SELECT * FROM pertanyaan ORDER BY RAND() LIMIT 10

Pada Database SQL Server :

Senin, 27 Mei 2013

Menampilkan Nomor Urut pada Hasil Query MySQL dalam Satu Perintah SQL

Artikel pendek untuk Menampilkan Nomor Urut pada Hasil Query MySQL dalam Satu Perintah SQL ini adalah update dari artikel sebelumnya Membuat Nomor Urut dengan MySQL, Nomor Rangking dengan Bahasa SQL.

Artikel ini penulis buat setelah mencoba membuat nomor urut pada Pemrograman Java yang menampilkan data dari Database MySQL menggunakan dua perintah SQL seperti dibahas sebelumnya yaitu :

Minggu, 10 Februari 2013

Membuat Nomor Urut dengan MySQL, Nomor Ranking dengan Bahasa SQL.

Kadang kita perlu memberi nomor rangking pada suatu data hasil query dari database langsung pada data hasil query tersebut. Misal pada pembuatan report yang membutuhkan query sekali jadi misal pada Crystal Report dll.

Akhirnya penulis temukan yaitu dengan perintah berikut :

SET @ranking=0; 
SELECT @ranking:=@ranking+1 AS ranking, nip, nama,
tunjangan from dokter order by tunjangan desc;

Perintah tersebut akan menghasilkan keluaran seperti di bawah ini :

+---------+-------+------------+-----------+
| ranking | nip   | nama       | tunjangan |
+---------+-------+------------+-----------+
|       1 | 345   | Dr. Aline  |  23000000 |
|       2 | 111   | Dr. Andi   |   2000000 |
|       3 | 222   | Dr. Dewi   |   1500000 |
|       4 | 333   | Dr. Doni   |   1000000 |
|       5 | 444   | Dr. Donita |   1000000 |
+---------+-------+------------+-----------+

Ketika dicoba di bahasa pemrograman PHP - MySQL dengan kode program di bawah ini, ternyata dapat berjalan :

Jumat, 27 Juli 2012

Setting SQLExpress 2008 Tanpa Re-Create Table (Database SQL Server)

Saat kita memakai SQL Server 2008, kadang kita mengalami masalah ketika menggunakan SQL Server Management Studio 2008. Kendalanya adalah saat kita modify table (merubah kolom-kolom dalam suatu tabel), muncul peringatan bahwa SQL Server tidak mau menjalankan perintah tersebut, dan table harus di recreate (dihapus kemudian dibuat ulang). Padahal di SQLServer 2005 kita tidak pernah menemui masalah ini.

Solusinya dengan mengubah setting berikut, pada SQL Server 2008 Management Studio Express, klik Tools - Option


Kemudian setelah muncul Dialog Option, pilih Designers, kemudian uncheck (hilangkan cek) pada Opsi "Prevent Saving Changes That Required Table Re-Creation"

Setting SQLExpress Koneksi Jaringan / Remote SQL Server Authentication (Database SQLServer)

Install SQL Server 2005 / 2008 Express Edition, download 2005 atau 2008, atau 2008 SP 2
Install SQL Server 2005 / 2008 Management Studio Express, download 2005 atau 2005 SP 3 atau 2008 atau 2008 R2


Setting SQL Server agar dapat terkoneksi ke Jaringan dan memiliki Username Password SQL Server Authentication.

Klik Start – Microsoft SQL Server 2005 – Configuration Tools – Klik Kanan SQL Server Configuration Manager – Run As Administrator


Minggu, 22 Juli 2012

Perintah SQL Database SQL Server (Administrasi Database)

Berikut ini perintah-perintah SQL pada Database SQL Server. Materi pelatihan berupa contoh-contoh perintah SQL dasar mulai dari CREATE, SELECT, UPDATE, DELETE, sampai PROCEDURE dan TRIGGER.

Membuat Database

CREATE DATABASE rumahsakit

Menghapus Database

DROP DATABASE rumahsakit

Menggunakan Database

USE rumahsakit

Membuat Tabel

CREATE TABLE dokter
(
nip nvarchar(50) NOT NULL,
nama nvarchar(200) NULL,
alamat text NULL,
tgllahir datetime NULL,
tunjangan float NULL,
PRIMARY KEY (nip)
)

Rabu, 27 Juni 2012

Database : Export Import, Transfer Data MS Access dan Oracle

Berikut ini cara transfer data (Ekspor dan Impor) data dari Microsoft Access ke Oracle atau sebaliknya, dari Oracle XE ke MS Access.

Pertama setting ODBC dahulu, klik Start - Control Panel :


Kemudian Buka Administrative Tools - Data Source ODBC, pilih User DSN, klik Add


Kemudian pilih Oracle in XE Client :


Minggu, 24 Juni 2012

Database Oracle : Menggunakan, Membuat Table dan Mengaktifkan User pada Oracle XE

Buka Start - All Programs Oracle Database Express Edition - Go To Database Home Page


Masuk dengan Username SYSTEM, password ****

Jumat, 22 Juni 2012

Database : Export Import, Transfer Data MS Access dan Firebird

Transfer Data Access ke Firebird

Untuk mentransfer data dari Access ke Firebird dapat dilakukan dengan cara mengeset terlebih dahulu Data Source pada ODBC agar terhubung ke database tujuan pada Firebird. Klik Start – Control Panel, pilih Administrative Tools – Data Source (ODBC) pada Classic View. Sedangkan pada Category View pilih Performance and Maintenance - Administrative Tools – Data Source (ODBC). Setelah muncul Dialog Data Source ODBC Administrator, pilih Tab System DSN, klik Add. Selanjutnya pada Dialog Create New Data Source pilih Firebird/Interbase (r) Driver. Klik Finish. Kemudian beri nama Data Source nya dan masukkan lokasi file Database, masukkan Database Account dan Password. Klik OK.


Setelah selesai maka akan muncul nama Data Source yang telah diset pada daftar di System DSN. Klik OK.
Buka database Access yang akan ditransfer, pada Tables klik kanan nama Table yang akan ditransfer, kemudian pilih Export.


Pada Dialog Export Table To.. pilih Save As Type - ODBC Databases.
Pada Dialog Select Data Source pilih Tab Machine Data Source dan pilih nama Data Source dari database Firebird tujuan. Klik OK.
Pada Dialog Export pilih nama Table pada Database tujuan. Klik OK.

Transfer Data Firebird ke Access

Untuk mentransfer data sebaliknya yaitu dari MySQL ke Access dapat dilakukan dengan cara mengeset terlebih dahulu Data Source pad ODBC agar terhubung ke database asal pada Firebird seperti halnya pada langkah di atas. Kemudian buka database Access dimana data akan diimport, pada Tables klik kemudian pilih Import.


Pada Dialog Import pilih Files of type – ODBC Databases.
Pada Dialog Select Data Source pilih Tab Machine Data Source dan pilih nama Data Source dari database SQLServer yang akan diimport. Klik OK.
Kemudian pada Dialog Login masukkan Login ID dan Password. Klik OK
Pada Dialog Import Object pilih nama table-table pada Database asal yang akan diimport. Klik OK.

Senin, 18 Juni 2012

Database : Export Import, Transfer Data MS Access dan MySQL

Ekspor Impor Data dari Access ke MySQL

Untuk mentransfer data dari Access ke MySQL dapat dilakukan dengan cara mengeset terlebih dahulu Data Source pad ODBC agar terhubung ke database tujuan pada MySQL. Klik Start – Control Panel, pilih Administrative Tools – Data Source (ODBC) pada Classic View. Sedangkan pada Category View pilih Performance and Maintenance - Administrative Tools – Data Source (ODBC). Setelah muncul Dialog Data Source ODBC Administrator, pilih Tab System DSN, klik Add. Selanjutnya pada Dialog Create New Data Source pilih MySQL ODBC 3.51 Driver. Klik Finish. Kemudian beri nama Data Source nya dan masukkan lokasi Server/Hostname, masukkan Database Name, User, dan Password. Klik OK.


Setelah selesai maka akan muncul nama Data Source yang telah diset pada daftar di System DSN. Klik OK.
Buka database Access yang akan ditransfer, pada Tables klik kanan nama Table yang akan ditransfer, kemudian pilih Export.


Pada Dialog Export Table To.. pilih Save As Type - ODBC Databases.
Pada Dialog Select Data Source pilih Tab Machine Data Source dan pilih nama Data Source dari database MySQL tujuan. Klik OK.
Pada Dialog Export pilih nama Table pada Database tujuan. Klik OK.

Ekspor Impor Data dari MySQL ke Access

Untuk mentransfer data sebaliknya yaitu dari MySQL ke Access dapat dilakukan dengan cara mengeset terlebih dahulu Data Source pad ODBC agar terhubung ke database asal pada MySQL seperti halnya pada langkah di atas. Kemudian buka database Access dimana data akan diimport, pada Tables klik kemudian pilih Import.


Pada Dialog Import pilih Files of type – ODBC Databases.
Pada Dialog Select Data Source pilih Tab Machine Data Source dan pilih nama Data Source dari database SQLServer yang akan diimport. Klik OK.
Kemudian pada Dialog Login masukkan Login ID dan Password. Klik OK

Pada Dialog Import Object pilih nama table-table pada Database asal yang akan diimport. Klik OK.

Database : Export Import, Transfer Data MS Access dan SQLServer


Import / Export Data MS Access - SQLServer

Access ke SQL Server
Untuk mentransfer data dari Access ke SQLServer dapat dilakukan dengan cara mengeset terlebih dahulu Data Source pad ODBC agar terhubung ke database tujuan pada SQLServer. Klik Start – Control Panel, pilih Administrative Tools – Data Source (ODBC) pada Classic View. Sedangkan pada Category View pilih Performance and Maintenance - Administrative Tools – Data Source (ODBC). Setelah muncul Dialog Data Source ODBC Administrator, pilih Tab System DSN, klik Add. Selanjutnya pada Dialog Create New Data SourcePilih SQLServer. Klik Finish


Kemudian beri nama Data Source nya dan masukkan lokasi Server. Klik Next.


Pilih authentication apakah akan memakai Windows Authentication atau dengan SQLServer Authentication, masukkan Login ID dan Password. Klik Next.


Pilih database yang akan dikoneksikan. Klik Next. Kemudian Klik Finish.


Setelah selesai maka akan muncul nama Data Source yang telah diset pada daftar di System DSN. Klik OK.


Buka database Access yang akan ditransfer, pada Tables klik kanan nama Table yang akan ditransfer, kemudian pilih Export.

Senin, 04 Juni 2012

Database SQLServer : Backup dan Attach File Database MDF LDF SQLServer

Backup File Database SQL Server dapat dilakukan dengan cara :

1. Hentikan Service SQLServer dengan cara klik Start-All Programs-Microsoft SQL Server-Configuration Tools-SQL Server Configuration Manager, Klik kanan Run As Administrator. Pada SQL Server Service, Klik kanan Service yang diinginkan, misalnya SQLEXPRESS, pilih Stop

2.Buka Windows Explorer, Arahkan ke C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data, kemudian copy file database yang diinginkan misal : Perpus.MDF dan Perpus.LDF, simpan data tersebut.

3. Kembali ke SQL Server Configuration Manager, Klik kanan Service yang diinginkan, misalnya SQLEXPRESS, pilih Start. SQL Server berjalan lagi dan dapat digunakan seperti biasa.


Sedangkan untuk mengembalikan, Attach (Restore) File Database SQL Server dapat dilakukan dengan cara :

1. Buka SQL Server Management Studio dengan cara  klik Start-All Programs-Microsoft SQL Server-SQL Server Management Studio Express, Klik kanan Run As Administrator.

2. Lihat dahulu apakah ada database yang mempunyai nama sama dengan database yang akan di-attach (restore), jika ada database tersebut harus dihapus (tidak bisa hanya di-rename).

3. Buka Windows Explorer, Copy file MDF dan LDF yang akan diattach, klik kanan Copy. Kemudian arahkan ke C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data, kemudian Paste (Masukkan) file database MDF dan LDF tersebut.

4. Kembali ke SQL Server Management Studio Express, pada Objek Explorer sebelah kiri, klik kanan Attach akan keluar Window Attach Database, Klik Add, pilih file database MDF yang tadi sudah dimasukkan ke direktori  C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data, kemudian klik OK. Selesai

Minggu, 03 Juni 2012

Database Oracle : Konfigurasi Setting ODBC Oracle XE

Berikut ini langkah men-setting ODBC Oracle XE (Express Edition). Setelah Oracle XE diinstall buka Control Panel - Administrative Tools - ODBC Data Sorurce :


Kemudian klik Add, pilih Orache in XEClient



Kemudian isikan informasi untuk login ke Server, TNT Service Name : //localhost:1521/XE, User ID : system.



Saat diklik OK akan keluar permintaan login dan password, masukkan ladi Service Name : //localhost:1521/XE, User Name : system, Password : *** (sesuai instalasi)



Jika benar akan keluar pesan Connection Successful




ODBC Siap digunakan

Jumat, 25 Mei 2012

Memanggil Stored Procedure pada VB.NET dengan Parameter Input Output

Memanggil Stored Procedure pada VB.NET dengan OleDb SQL Server :

    Private Sub BtnUpdSQL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUpdSQL.Click
        Dim con As New SqlConnection
        con.ConnectionString = "Data Source=.\sqlexpress;Initial Catalog=btc;Integrated Security=True"
        con.Open()

        Dim cmd As New SqlCommand
        cmd.Connection = con
        cmd.CommandType = CommandType.Text
        cmd.CommandText = "hitungGaji"

        'parameter input SP "jmlgaji"=@kode dari textboxkodedepartemen.text
        cmd.Parameters.Add("@kodedept", OdbcType.VarChar)
        cmd.Parameters("@kodedept").Direction = ParameterDirection.Input
        cmd.Parameters("@kodedept").Value = TextBoxKodeDeptMySQL.Text

        cmd.Parameters.Add("@total", OdbcType.Double)
        cmd.Parameters("@total").Direction = ParameterDirection.Output

        cmd.ExecuteNonQuery()
        

        Dim intCount As Integer = 0
        Double.TryParse(cmd.Parameters("@total").Value, intCount)

        If intCount > 0 Then TextBoxJumlahMySQL.Text = intCount.ToString 

    End Sub


Pada Odbc, memanggil Stored Procedure tidak bisa dilakukan secara langsung dengan Tipe CommandType.StoredProcedure, harus menggunakan  Memanggil Stored Procedure dengan VB.NET pada Odbc MySQL :

    Private Sub ButtonCariMySQL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCariMySQL.Click
        Dim con As New OdbcConnection
        Dim cmd As New OdbcCommand
        Dim lreturn As Boolean = True

            'koneksi ke sql server---------------------------------
            con.ConnectionString = "driver={mysql odbc 3.51 driver};server=localhost;database=karyawan;uid=root;password= ;"
            con.Open()

            'nama stored procedure=jmlgaji---------------------------
            cmd.Connection = con
            cmd.CommandType = CommandType.StoredProcedure
            cmd.CommandText = "call hitungGaji('" & TextBoxKodeDeptMySQL.Text & "',@total)"

            cmd.Parameters.Add("@total", OdbcType.Double)
            cmd.Parameters("@total").Direction = ParameterDirection.Output

            cmd.ExecuteNonQuery()

            'command mengambil hasil procedure hitungGaji
            Dim cmd2 As New OdbcCommand("SELECT @total", con)
            MsgBox(cmd2.ExecuteScalar.ToString)
    End Sub

Minggu, 20 Mei 2012

Menyimpan dan Mengambil Gambar Binary di Database pada C#.NET dan VB.NET

Cara menyimpan gambar atau file binary pada database dengan VB.NET dan C#.NET, serta menampilkan gambar atau file binary dari database  dengan VB.NET dan C#.NET dapat dilakukan dengan beberapa cara, menggunakan SqlClient, Oledb, Odbc, FileStream, MemoryStream. Di bawah ini beberapa contoh cara-caranya :

Menyimpan gambar dengan C# pada database yang support SqlClient yaitu SQL Server :

private void btnEditPerabotan_Click(object sender, EventArgs e)
        {
            SqlConnection cn = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=SPP_5922;Integrated Security=true");
            MemoryStream ms = new MemoryStream();
            pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

            byte[] Pic_arr = new byte[ms.Length];
            ms.Position = 0;
            ms.Read(Pic_arr, 0, Pic_arr.Length);

            SqlCommand cmdb = new SqlCommand("Update Perabot set Perabot_Id= @perabotid, Perabot_Name= @perabotname,Harga=@harga, Kategori_Id= @kategoriid, Model_Id= @modelid, Gambar=@gambar where Perabot_Id =@perabotid", cn);
            cmdb.Parameters.AddWithValue("@perabotid", textIdPerabot.Text);
            cmdb.Parameters.AddWithValue("@perabotname", textNmaPerabot.Text);
            cmdb.Parameters.AddWithValue("@harga", textHarga.Text);
            cmdb.Parameters.AddWithValue("@kategoriid", comboKategori.Text);
            cmdb.Parameters.AddWithValue("@modelid", comboModel.Text);
            cmdb.Parameters.AddWithValue("@gambar", Pic_arr);
            cn.Open();
            try
            {
                int res = cmdb.ExecuteNonQuery();
                if (res > 0)
                {
                    MessageBox.Show("data berhasil disimpan");
                    RefreshGridPerabot();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                cn.Close();
            }
        }


Menyimpan gambar dengan VB.NET pada database yang support Oledb yaitu MS Access :


If Not PicCover.Image Is Nothing Then

    _buku.Cover = PicCover.Image

End If



Public Function addBuku(ByVal _buku As Buku) As Boolean
        Dim con As OleDbConnection = Connection.CON

        Try
            Dim ms As MemoryStream = New MemoryStream()
            _buku.Cover.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)

            Dim Pic_arr(ms.Length) As Byte

            ms.Position = 0
            ms.Read(Pic_arr, 0, Pic_arr.Length)

            con.Open()
            Dim sc As OleDbCommand = New OleDbCommand("INSERT INTO BUKU VALUES('" + _buku.IdBuku + "','" + _buku.Judul + "','" + _buku.Ringkasan + "',#" + _buku.TglTerbit.ToShortDateString + "#," + _buku.Harga.ToString + ", @cover)", con)
            Console.WriteLine(sc.CommandText)

            sc.Parameters.AddWithValue("@cover", Pic_arr)

            sc.ExecuteNonQuery()
            Return True
        Catch e As System.Data.SqlClient.SqlException

            Return False

        Catch e2 As Exception

            Return False

        Finally

            con.Close()
        End Try
    End Function


Menampilkan atau mengambil gambar dengan C# pada database yang support SqlClient yaitu SQL Server :


private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            textIdPerabot.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
            comboModel.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            comboKategori.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
            textNmaPerabot.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
            textHarga.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
            Byte[] byteBLOBData = new Byte[0];
            byteBLOBData = (Byte[])(dataGridView1.CurrentRow.Cells[5].Value);
            MemoryStream stmBLOBData = new MemoryStream(byteBLOBData);
            pictureBox1.Image = Image.FromStream(stmBLOBData);

        }



Menyimpan gambar dengan VB.NET pada database yang support ODBC misal MySQL :


    Private Sub BtnUpdatePic_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUpdatePic.Click
        Dim tpic As Byte() = System.IO.File.ReadAllBytes(txtFile.Text)
        Dim con As New OdbcConnection
        con.ConnectionString = "driver={mysql odbc 3.51 driver};server=localhost;database=karyawan;uid=root;password= ;"
        con.Open()

        Dim cmd As New OdbcCommand
        cmd.Connection = con
        cmd.CommandType = CommandType.Text
        'PARAMETER HARUS PAKAI TANDA TANYA ? KHUSUS UNTUK ODBC
        cmd.CommandText = "UPDATE peserta SET gambar = ? WHERE idpeserta = '102' " ',@total)"
       

        cmd.ExecuteNonQuery()
        
        cmd.Dispose()
        con.Close()

    End Sub


Menampilkan atau mengambil gambar dengan VB.NET pada database yang support  ODBC misal MySQL  :

    Private Sub BtnViewPictMysql_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnViewPictMysql.Click
        Dim fstream As New IO.FileStream(IO.Path.GetDirectoryName(Application.ExecutablePath) & "\tmp.dat", IO.FileMode.Create)

        'fstream.Write(bs.Item(bs.Position)(4), 0, System.Buffer.ByteLength(bs.Item(bs.Position)(4)))
        'fstream.Write(dgv1.Rows(0).Cells("gambar").Value, 0, System.Buffer.ByteLength(dgv1.Rows(0).Cells("gambar").Value))
        fstream.Write(dgv1.SelectedRows(0).Cells("gambar").Value, 0, System.Buffer.ByteLength(dgv1.SelectedRows(0).Cells("gambar").Value))
        PicFoto.Image = Image.FromStream(fstream)
        'PicFoto.SizeMode = PictureBoxSizeMode.Zoom

        fstream.Close()
    End Sub


Cara lain menyimpan gambar binary ke database dengan C#.NET :

            con.open
            string query = "update Jenis_Penyakit set gambar=@gambar where NAMA_PENYAKIT = '" + dgGambarPenyakit.Rows[dgGambarPenyakit.SelectedRows[0].Index].Cells[1].Value.ToString() + "'";
            if (myconn.State.ToString() != "Open")
                myconn.Open();
            SqlCommand cmd = new SqlCommand(query, myconn);
            cmd.Parameters.Add("@gambar", SqlDbType.Image, 0 , "");
            cmd.Parameters[0].Value = tpic;
            cmd.ExecuteNonQuery();

Cara lain mengambil/menampilkan gambar binary dari database dengan C#.NET :


        private void dgGambarPenyakit_Click(object sender, EventArgs e)
        {
           
            myconn = koneksi.CON;
            SqlCommand cmdSelect = new SqlCommand("SELECT GAMBAR FROM JENIS_PENYAKIT WHERE NAMA_PENYAKIT = '" + dgGambarPenyakit.Rows[dgGambarPenyakit.SelectedRows[0].Index].Cells[1].Value.ToString() + "'", this.myconn);
            
            myconn.Open();
            byte[] barrImg = (byte[])cmdSelect.ExecuteScalar();

            if (barrImg != null)
            {
                string strfn = Convert.ToString(DateTime.Now.ToFileTime());
                FileStream fs = new FileStream(strfn,
                                  FileMode.CreateNew, FileAccess.Write);
                fs.Write(barrImg, 0, barrImg.Length);
                fs.Flush();
                fs.Close();
                this.myconn.Close();
                picPenyakit.Image = Image.FromFile(strfn);
            }
            else
            {
                picPenyakit.Image = null;
            }
        }


Cara lain menyimpan gambar binary ke database dengan VB.NET :

tpic = File.ReadAllBytes(oSketsa.FileName)

        If (tpic.GetType.ToString() <> "System.Object") Then
            da.UpdateCommand.Parameters("@Sketsa").Value = tpic
        End If
        'cm.Parameters.Add("@Sketsa", OdbcType.VarChar, 0, "").Value = pathCAD
        cm.ExecuteNonQuery()
        cn.Close()

Cara lain mengambil/menampilkan gambar binary dari database dengan VB.NET :

If (bs.Item(bs.Position)(4).GetType.ToString() <> "System.DBNull") Then
                Dim fstream As New FileStream(Path.GetDirectoryName(Application.ExecutablePath) & "\sket.dat", FileMode.Create)

                fstream.Write(bs.Item(bs.Position)(4), 0, System.Buffer.ByteLength(bs.Item(bs.Position)(4)))
                pSketsa.Image = Image.FromStream(fstream)
                pSketsa.SizeMode = PictureBoxSizeMode.Zoom

                fstream.Close()
            Else
                pSketsa.Image = Nothing
            End If

       
Menyimpan Gambar di Database MySQL dengan MySQLOledb


Public Function SiswaInsert(ByVal Siswa As Siswa) As MySqlDataReader
            Try
                Dim ms As MemoryStream = New MemoryStream()
                Siswa.Foto.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)

                Dim Pic_arr(ms.Length) As Byte

                ms.Position = 0
                ms.Read(Pic_arr, 0, Pic_arr.Length)

                Dim StrSQL As String = "INSERT INTO siswa" & _
               " (Nis,Kelas_ID,Tahun_ID,Nama,Kota_lahir,Tanggal_lahir,Gender,Agama,Alamat,Telepon,Terima_dkelas,Tgl_terima,Id_ThnAjaran,Sekolah_asal,Anak_ke,Status_anak,Nama_Ayah,Nama_Ibu,Pekerjaan_Ayah,Pekerjaan_Ibu,Penghasilan_Ortu,Alamat_Ortu,Telp_Ortu,Foto_Siswa) " & _
               " VALUES (@Nis,@Kelas_ID,@Tahun_ID,@Nama,@Kota_lahir,@Tanggal_lahir,@Gender,@Agama,@Alamat,@Telepon,@Terima_dkelas,@Tgl_terima,@Id_ThnAjaran,@Sekolah_asal,@Anak_ke,@Status_anak,@Nama_Ayah,@Nama_Ibu,@Pekerjaan_Ayah,@Pekerjaan_Ibu,@Penghasilan_Ortu,@Alamat_Ortu,@Telp_Ortu,@Foto_Siswa);"

                Dim myCommand As MySqlCommand = New MySqlCommand(StrSQL, myconnection.open)
                myCommand.CommandType = CommandType.Text

                Dim parameterS_Nis As MySqlParameter = New MySqlParameter("@Nis", MySqlDbType.VarChar, 4)
                parameterS_Nis.Value = Siswa.Nis

                Dim parameterS_Kelas As MySqlParameter = New MySqlParameter("@Kelas_ID", MySqlDbType.Int16)
                parameterS_Kelas.Value = Siswa.Kelas

                Dim parameterS_Angkatan As MySqlParameter = New MySqlParameter("@Tahun_ID", MySqlDbType.Int16)
                parameterS_Angkatan.Value = Siswa.Angkatan

                Dim parameterS_Nama As MySqlParameter = New MySqlParameter("@Nama", MySqlDbType.VarChar, 50)
                parameterS_Nama.Value = Siswa.Nama

                Dim parameterS_KotaLahir As MySqlParameter = New MySqlParameter("@Kota_lahir", MySqlDbType.VarChar, 30)
                parameterS_KotaLahir.Value = Siswa.KotaLahir

                Dim parameterS_TglLahir As MySqlParameter = New MySqlParameter("@Tanggal_lahir", MySqlDbType.Date)
                parameterS_TglLahir.Value = Siswa.TglLahir

                Dim parameterS_Kelamin As MySqlParameter = New MySqlParameter("@Gender", MySqlDbType.VarChar, 1)
                parameterS_Kelamin.Value = Siswa.Kelamin

                Dim parameterS_Agama As MySqlParameter = New MySqlParameter("@Agama", MySqlDbType.VarChar, 10)
                parameterS_Agama.Value = Siswa.Agama

                Dim parameterS_Alamat As MySqlParameter = New MySqlParameter("@Alamat", MySqlDbType.VarChar, 100)
                parameterS_Alamat.Value = Siswa.Alamat

                Dim parameterS_Telepon As MySqlParameter = New MySqlParameter("@Telepon", MySqlDbType.VarChar, 15)
                parameterS_Telepon.Value = Siswa.Telepon

                Dim parameterS_TerimadKelas As MySqlParameter = New MySqlParameter("@Terima_dkelas", MySqlDbType.VarChar, 30)
                parameterS_TerimadKelas.Value = Siswa.TerimadKelas

                Dim parameterS_TglTerima As MySqlParameter = New MySqlParameter("@Tgl_terima", MySqlDbType.Date)
                parameterS_TglTerima.Value = Siswa.TglTerima

                Dim parameterS_ThnAjaran As MySqlParameter = New MySqlParameter("@Id_ThnAjaran", MySqlDbType.Int16)
                parameterS_ThnAjaran.Value = Siswa.ThnAjaran

                Dim parameterS_AsalSekolah As MySqlParameter = New MySqlParameter("@Sekolah_asal", MySqlDbType.VarChar, 30)
                parameterS_AsalSekolah.Value = Siswa.AslSekolah

                Dim parameterS_AnakKe As MySqlParameter = New MySqlParameter("@Anak_ke", MySqlDbType.VarChar, 30)
                parameterS_AnakKe.Value = Siswa.AnakKe

                Dim parameterS_StatusAnak As MySqlParameter = New MySqlParameter("@Status_anak", MySqlDbType.VarChar, 30)
                parameterS_StatusAnak.Value = Siswa.StatusAnak

                Dim parameterS_NamaAyah As MySqlParameter = New MySqlParameter("@Nama_Ayah", MySqlDbType.VarChar, 50)
                parameterS_NamaAyah.Value = Siswa.NamaAyah

                Dim parameterS_NamaIbu As MySqlParameter = New MySqlParameter("@Nama_Ibu", MySqlDbType.VarChar, 50)
                parameterS_NamaIbu.Value = Siswa.NamaIbu

                Dim parameterS_KerjaAyah As MySqlParameter = New MySqlParameter("@Pekerjaan_Ayah", MySqlDbType.VarChar, 30)
                parameterS_KerjaAyah.Value = Siswa.KerjaAyah

                Dim parameterS_KerjaIbu As MySqlParameter = New MySqlParameter("@Pekerjaan_Ibu", MySqlDbType.VarChar, 30)
                parameterS_KerjaIbu.Value = Siswa.KerjaIbu

                Dim parameterS_HasilOrtu As MySqlParameter = New MySqlParameter("@Penghasilan_Ortu", MySqlDbType.VarChar, 100)
                parameterS_HasilOrtu.Value = Siswa.PenghaslianOrtu

                Dim parameterS_AlamatOrtu As MySqlParameter = New MySqlParameter("@Alamat_Ortu", MySqlDbType.VarChar, 100)
                parameterS_AlamatOrtu.Value = Siswa.AlamatOrtu

                Dim parameterS_TelpOrtu As MySqlParameter = New MySqlParameter("@Telp_Ortu", MySqlDbType.VarChar, 15)
                parameterS_TelpOrtu.Value = Siswa.TelponOrtu

                Dim parameterS_Foto As MySqlParameter = New MySqlParameter("@Foto_Siswa", MySqlDbType.Blob)
                parameterS_Foto.Value = Pic_arr


                With myCommand.Parameters
                    .Add(parameterS_Nis)
                    .Add(parameterS_Kelas)
                    .Add(parameterS_Angkatan)
                    .Add(parameterS_Nama)
                    .Add(parameterS_KotaLahir)
                    .Add(parameterS_TglLahir)
                    .Add(parameterS_Kelamin)
                    .Add(parameterS_Agama)
                    .Add(parameterS_Alamat)
                    .Add(parameterS_Telepon)
                    .Add(parameterS_TerimadKelas)
                    .Add(parameterS_TglTerima)
                    .Add(parameterS_ThnAjaran)
                    .Add(parameterS_AsalSekolah)
                    .Add(parameterS_AnakKe)
                    .Add(parameterS_StatusAnak)
                    .Add(parameterS_NamaAyah)
                    .Add(parameterS_NamaIbu)
                    .Add(parameterS_KerjaAyah)
                    .Add(parameterS_KerjaIbu)
                    .Add(parameterS_HasilOrtu)
                    .Add(parameterS_AlamatOrtu)
                    .Add(parameterS_TelpOrtu)
                    .Add(parameterS_Foto)

                End With

                Dim result As MySqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
                Return result
            Catch SqlEx As MySqlException
                Throw New Exception(SqlEx.Message.ToString())
            End Try
        End Function


Mengambil Gambar dari MySQL dengan MySQLOledb


Dim objDataTable As New DataTable
    Private Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click
        Try
            Dim DataControl As New AccessData.DataControl
            Dim myData As DataSet = DataControl.GetDataSet("Select * from siswa where nis = '" & txtNis.Text & "'")
            objDataTable = myData.Tables("data")
            If objDataTable.Rows.Count > 0 Then
                AddSiswa.Show()
                AddSiswa.txtNis.Text = objDataTable.Rows(0)("nis").ToString
                AddSiswa.txtNama.Text = objDataTable.Rows(0)("nama").ToString

                Dim stmBLOBData As MemoryStream = New MemoryStream()

                stmBLOBData.Write(objDataTable.Rows(0)("Foto_Siswa"), 0, System.Buffer.ByteLength(objDataTable.Rows(0)("Foto_Siswa")))

                AddSiswa.PictureBox1.Image = Image.FromStream(stmBLOBData)

            Else
                MsgBox("Data Tidak Ditemukan")
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

UPDATE : Cara Menampilkan Gambar Binary dari Database di VB.NET Tanpa Membuat File Temporary.

Akhirnya setelah mencari kesana kemari penulis temukan cara ini, Fiuhhh :)

picFoto.image=Nothing
Try
Dim imagedata As Object = DataGridView1.Rows(e.RowIndex).Cells("foto").Value
Dim ms As New MemoryStream(imagedata, 0, imagedata.length)
ms.Write(imagedata, 0, imagedata.length)
picFoto.Image = Image.FromStream(ms)
Catch ex As Exception

End Try

Semoga suatu saat bermanfaat untuk anda ^_^