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.
Tutorial Pemrograman dan Source Code, Android, Web, Mobile, Desktop, Database dan Software. Tutorial Pemrograman Android, Web, PHP, Javascript, VB.NET, C#, ASP.NET dan Java
Tampilkan postingan dengan label Database. Tampilkan semua postingan
Tampilkan postingan dengan label Database. Tampilkan semua postingan
Rabu, 03 Februari 2016
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 ^_^
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 :
misal :
Pada Database SQL Server :
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 :
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"
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
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 :
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 ****
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.
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.
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
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
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
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
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 ^_^
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 :
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 ^_^
Langganan:
Postingan (Atom)
























