P. 1
Ado

Ado

|Views: 405|Likes:
Published by YOPIMASTERPIECE

More info:

Published by: YOPIMASTERPIECE on Oct 18, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/14/2012

pdf

text

original

Database Application Using ADO.

NET
Belajar konsep ADO.NET Mengintegrasikan database dengan aplikasi Memahami penggunaan fitur-fitur pada ADO.NET Menggunakan Transaction

ADO.NET

Page 1 of 45

Bagian 1 Pengenalan ADO.NET
ADO.NET bukan bentuk revisi dari ADO, tetapi adalah cara baru untuk memanipulasi data – yaitu berbasiskan pada disconnected data source dan XML. ADO.NET dirancang untuk bekerja pada disconnected data source di mana dapat mengurangi network traffic. ADO.NET menggunakan format XML sebagai format universalnya. Ini menjamin interoperability selama platform tersebut mendukung parsing XML. Universal Data Access Beberapa aplikasi mungkin menggunakan lebih dari satu DBMS (database management system). Misalkan sebuah aplikasi menggunakan database Oracle, namun aplikasi lain menggunakan SQL Server. Dikarenakan berbagai macam database ini maka menyulitkan programmer maka dibuat suatu interface untuk mengolah database yang berbeda-beda tersebut. Teknologi yang dikeluarkan adalah ODBC dan OLEDB. ODBC ODBC atau Open Database Connectivity adalah standar yang digunakan untuk mengakses database. Di dalamnya memiliki sekumpulan fungsi yang memungkinkan kita koneksi ke local atau remote data source. Data yang dapat diakses bermacam-macam dari dBase, Microsoft FoxPro, Microsoft Access, Microsoft SQL Server, Oracle dan sebagainya. Untuk membuat ODBC kita dapat masuk ke Control Panel > Administrative Tools > Data Sources (ODBC).

ADO.NET

Page 2 of 45

Bagian 2 Koneksi Database
Untuk memulai integrasi ke database dalam aplikasi kita harus memahami pembuatan koneksi ke database. Untuk menggunakan fitur database kita harus mengimport terlebih dahulu Namespace untuk ADO.NET.

Imports System.Data.Oledb

Class yang akan kita gunakan untuk membuat koneksi adalah OledbConnection. Membuat koneksi baru
Dim con As New OledbConnection con.ConnectionString=”…” con.Open() …..code untuk ke database ….. con.Close()

Kita harus memberi nilai ConnectionString untuk menginisialisasi letak data sourcenya, user dan password untuk logon ke database dan sebagainya. Untuk memudahkan file berekstensi .udl kemudian tampilkan kotak dialog dengan menjalankannya.

ADO.NET

Page 3 of 45

Di sini terdapat beberapa tab. Tab Provider digunakan untuk menentukan jenis databasenya, untuk koneksi ke Microsoft Access pilihlah yang Microsoft Jet 4.0 OLE DB Provider kemudian pada tab Connection kita harus menentukan Data Source dan autentifikasi yang diperlukan. Jika sudah diset dapat klik Test Connection untuk dengan ketiga. mengecek Notepad apakah kemudian koneksinya copylah berhasil. Setelah itu buka file udl tersebut connectionstring yang dibentuk pada baris

Dim con As New OledbConnection con.ConnectionString=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & _ Application.StartUpPath & ”\data.mdb;Persist Security Info=False” con.Open() …..code untuk ke database ….. con.Close()

Untuk mengetahui status koneksi kita dapat menggunakan property State
If con.state = ConnectionState.Open Then … koneksi terbuka Else … koneksi tertutup End If

Pada saat dalam terkoneksi ke database method con.Open() tidak boleh dipanggil, demikian pula pada saat keadaan disconnected tidak boleh memanggil database method con.Close() Setiap proses ke database harus diawali dengan connection, kemudian kita baru dapat memanipulasi data seperti mengambil data, menambahkan, mengubah dan menghapus data.
ADO.NET Page 4 of 45

Argumen dari ConnectionString Argumen Data Source Keterangan Nama dari servernya atau nama dari file database yang akan digunakan. Password Persist Security Info Provider User ID Password dari user. Try con.NET Page 5 of 45 . Nama dari OLEDB Provider.Show ( c. Dapat pula disingkat pwd. Pada saat melakukan koneksi dengan menggunakan method con.Open() Catch c As Exception MessageBox.dispose() ADO.Message ) End Try Menutup koneksi con. Bernilai true jika ADO menyimpan userid dan password di dalam data link. Ketika membuka koneksi ke ODBC data source maka parameter ini berisi nama DSN ( Data Source Name ) Initial Catalog Nama dari default database yang akan digunakan. Dapat pula disingkat uid.Open() sebaiknya digunakan try.close() atau con. Jika menggunakan ODBC parameter yang digunakan adalah database. Nilai defaultnya adalah MSDASQL Username yang akan login ke database.catch untuk menangani jika terjadi kesalahan pada saat koneksi.

Untuk membuat database di dalam mysql kita menggunakan sintaks sql : Create Database <Nama Database> create database Phone. .NET Page 6 of 45 . Untuk Membuat Table . Table Table merupakan tempat penyimpanan data di dalam database yang terdiri dari kolom dan barisbarisnya. . Primary Key ( <NamaKolom> ) ) ADO. NamaKolom <Tipe Data>. Setelah itu gunakan sintaks Use <Nama Database> untuk menggunakan database tersebut. kita menggunakan sintaks Create table <Nama Table> ( NamaKolom < Tipe Data>. kta menggunakan sintaks Drop Database < Nama Database> drop database Phone.Bagian 3 SQL Basics Database Database adalah suatu tempat penyimpanan data yang terdiri dari kumpulan-kumpulan table dimana data-data tersebut disimpan. use Phone. Untuk Menghapus database . .

Insert adalah perintah sql untuk memasukkan suatu data baru ke dalam suatu table. Alamat varchar(200). TanggalLahir datetime. Nama varchar(20).NET Page 7 of 45 . dimana kolom pertama yaitu nomor merupakan kolom yang tidak boleh kosong (Null value) dan juga tidak boleh terdapat data yang sama karena kolom nomor merupakan Primary key. JenisKelamin char(1). Format perintah ini adalah ADO. Tabel yang terbentuk : Menambahkan kolom pada tabel Alter Table<nama table> add column <nama column> < tipe column> alter table phonebook add column umur int Menghapus kolom pada tabel Alter Table<nama table> drop column <nama column> alter table phonebook drop column umur Kita akan membahas sintaks-sintaks untuk memanipulasi data pada database yang dikenal dengan nama DML ( Data Manipulation Language ). kita membuat suatu tabel dengan nama PhoneBook dengan 6 kolom. Telepon varchar(15). Primary key (Nomor) ) Pada Sintaks di atas.create table PhoneBook( Nomor int not null.

Nama) values(1.JenisKelamin dan telepon akan ditambahkan ke Dalam tabel PhoneBook.)> values <Nilai yang Diisi Ke kolom1.Nama from Phonebook where Nomor=1 Maka Query akan menghasilkan semua data yang memiliki Nomor 1 dari tabel Phonebook.…> insert into Phonebook values(1.Alamat.'Budi'.'L'. Select Select adalah perintah sql yang berguna untuk mengambil data yang terdapat di dalam database sesuai yang kita inginkan Format perintah ini adalah Select <Nama Kolom>. hal ini diperbolehkan jika pada saat membuat tabel kita mengizinkan nilai null pada kolom tersebut.TanggalLahir. Jika memberikan nilai default maka nilai yang akan diberikan pada saat kita tidak member nilai adalah nilai defaultnya bukan nilai null.'021-5682771'.'Jalan Mangga 12'.Nama Kolom.Nama. ADO. maka kolom yang lain akan bernilai null.2020-12-20.'Budi') Pada contoh di atas kita hanya memberi nilai ke Nomor dan Nama.insert into <Nama Tabel > <(Nama Kolom.30) Maka Data baru dengan Nomor..<Nama Kolom> from <Nama Table> [ where <Condition> ] [ group by … ] [ having condition ] [ order by <Nama Kolom> ] select * from Phonebook select Nomor. Nilai Ke kolom 2.NET Page 8 of 45 .. atau insert into Phonebook(Nomor.

Menampilkan semua data yang berumur lebih besar sama dengan 20 dan jenis kelaminnya lakilaki. Nama. select * from PhoneBook where Umur > 40 OR Umur < 20 Menampilkan Nomor. JenisKelamin. <Nama Kolom = Nilai Baru>. Umur diurutkan dari yang paling tua hingga yang paling muda. select Nomor. select Nomor. Format perintah ini adalah Update <Nama Table> set <Nama Kolom = Nilai Baru>.Nama. Umur diurutkan dari yang paling tua hingga yang paling muda.Umur from PhoneBook order by Umur ASC Note: untuk ASC boleh tidak ditulis. Update Update adalah perintah sql untuk mengubah satu atau lebih data yang terdapat di dalam suatu table. … where <Condition> update PhoneBook set Nama='Andi' where Nomor=2 ADO.JenisKelamin.Umur from PhoneBook order by Umur DESC Menampilkan Nomor.JenisKelamin. JenisKelamin.NET Page 9 of 45 .Nama. Nama. select * from PhoneBook where Umur >= 20 AND JenisKelamin='L' Menampilkan semua data yang berumur lebih besar dari 40 tahun atau lebih kecil dari 20 tahun.

NET Page 10 of 45 . Format perintah ini adalah Delete from <Nama Table> where <Condition> delete from PhoneBook WHERE Nomor=1 Maka yang nomor 1 akan dihapus dari tabel. Tabel berserta data di dalamnya akan dihapus semua. delete from PhoneBook Semua data dalam tabel akan dihapus. Menambahkan umur semuanya sebesar 1. Menghapus semua data dari dalam tabel. update PhoneBook set Umur=Umur+1 Delete Delete adalah perintah sql untuk menghapus satu atau lebih data yang terdapat di dalam suatu table. Menghapus tabel dari database drop table PhoneBook ADO.Maka Nama dari tabel Phonebook dengan nomor 2 akan diubah namanya menjadi Andi. Jika kita ingin menghapus tabelnya dari database dapat menggunakan sintaks berikut ini. tetapi struktur tabelnya tetap.

Select sum(Umur) as TotalUmur from PhoneBook ADO. Select avg(Umur) as RataRataUmur from PhoneBook SUM digunakan untuk menghitung Jumlah Total dari suatu kolom pada tabel.Menggunakan Aggregate Function MAX digunakan untuk mengambil nilai maksimal dari suatu field Select max(Umur) as MaxUmur from PhoneBook MIN digunakan untuk mengambil nilai Minimal dari suatu field Select min(Umur) as MinUmur from PhoneBook AVG digunakan untuk mengambil rata-rata dari suatu kolom.NET Page 11 of 45 .

count(Nomor) as Jumlah from PhoneBook group by JenisKelamin having count(Nomor)=MAX(Nomor) ADO. Select count(Nomor) as JumlahOrang from PhoneBook Bila Kita ingin menampilkan suatu aggregate function Bersama-sama dengan kolom lain di suatu query.NET Page 12 of 45 .count(Nomor) as Jumlah from PhoneBook group by JenisKelamin Jika kondisi yang kita gunakan menggunakan aggregate function maka tidak boleh diletakkan di WHERE tetapi harus menggunakan HAVING.Count digunakan untuk menghitung jumlah record yang terdapat pada suatu kolom dari suatu tabel. kita harus menggunakan sintaks Group By. Sehingga data yang dihitung oleh aggregate function tersebut akan dikelompokkan berdasarkan kolom yang kita GroupBy tersebut. select JenisKelamin. Misalkan kita ingin menampilkan kolom JenisKelamin dengan jumlah orangnya select JenisKelamin.

% mewakili 0 atau banyak karakter.NET Page 13 of 45 . Sehingga yang akan ditampilkan adalah semua data yang Nama bagian depannya Andi. ADO.Menggunakan LIKE select * from PhoneBook WHERE Nama LIKE ‘Andi%’ Code di atas akan menampilkan semua data dari tabel PhoneBook di mana Namanya sesuai dengan pola yang diberikan pada LIKE.

Setelah itu kita set Property dari Command connection adalah objek koneksi yang sudah dibuat kemudian masukkan sintaks SQLnya di bagian CommandText. Dan tutup koneksi bila sudah tidak dibutuhkan.ExecuteReader While dr. Jangan lupa untuk menutup DataReader setelah selesai digunakan.Connection = con com. Statement while untuk membuat datareader akan terus membaca selama data belum habis. Pastikan koneksi sudah dibuka dengan con. Contoh di atas digunakan perintah SELECT untuk mengambil data dari database. ADO.read ComboBox1.Open() pada saat sebuah Command ingin dieksekusi.close() con.Add( dr(0) ) End While dr.ConnectionString = “…” com.Close() Setiap membuat kita terlebih dahulu harus membuat objek Connection-nya.Bagian 4 Menggunakan Object Command Menggunakan ExecuteReader Dim con As New OledbConnection Dim com As New OledbCommand con.NET Page 14 of 45 .Items. Pada contoh di atas digunakan DataReader untuk membaca dari hasil dari Command.Open() Dim dr As OledbDataReader dr = com.CommandText=”select CompanyName from Customers” con. Perintah Command akan mengambil field CompanyName dari tabel Customers dengan menggunakan method ExecuteReader kemudian akan difetch atau dibaca secara sekuensial berurutan dari awal hingga akhir baris oleh DataReader.

Add( dr(0) ) End While atau While dr.DataReader akan membaca baris per baris dan untuk mendapatkan nilai kita berikan indeks yang diinginkan seperti berikut ini.ExecuteNonQuery() ADO.ExecuteScalar() Pastikan Command sudah diinisialisasi objek koneksinya dan pastikan koneksinya sudah dalam keadaan connected.read ComboBox1. Misalkan kita ingin mendapatkan jumlah Record pada tabel Customers. com.read ComboBox1. Menggunakan ExecuteNonQuery Method ini digunakan untuk menjalankan perintah INSERT.Items. com. UPDATE dan DELETE. While dr.Add( dr(“CompanyName”) ) End While Menggunakan ExecuteScalar Kita dapat mengambil nilai scalar ( single value ) dari database dan dengan Command kita langsung mengambil dan menampungnya dalam suatu variabel. Pada saat pemanggilan method ExecuteScalar maka perintah SQLnya akan dieksekusi di mana mengembalikan nilai jumlah record dari Customers dan kemudian langsung ditampung ke variabel jumlah.Items.CommandText = “perintah INSERT/UPDATE/DELETE” com.CommandText = “select count(*) from Customers” Dim jumlah As Integer = com.NET Page 15 of 45 .

DataSource = ds.NET Page 16 of 45 .con) Dim ds As New DataSet da. Dim con As New OledbConnection(“….fill(ds. Data Adapter dapat digunakan untuk mengambil data dari database kemudian ditampung di DataSet.Tables(“Pelanggan”) ADO.fill(ds) Untuk menampilkannya datanya kita dapat menggunakan DataGrid.DataSource = ds.”Pelanggan”) DataGrid1. DataReader tidak dapat digunakan untuk tujuan mengupdate data. Berbeda dengan Data Adapter di mana selalu dihubungkan dengan DataSet untuk mengatur data yang ada di dalam memory. sehingga setelah DataSet terisi oleh data yang dibutuhkan resource untuk koneksi database dibuang.Tables(0) Kita juga dapat memberi nama pada DataTablenya pada saat method Fill. Sifat dari DataReader ini read-only. Berikut ini adalah contoh code untuk mengambil data menggunakan DataAdapter dan menampungnya ke DataSet..Bagian 5 Data Adapter dan DataSet ADO. DataSet ini disimpan di dalam memory dan dapat dimanipulasi dari program. forward-only dan fast-only. da.NET mempunyai dua cara untuk menerima data dari database yaitu menggunakan DataReader yang kita gunakan pada bab sebelumnya. DataGrid1.connection string……”) Dim da As New OledbDataAdapter(“select * from Customers”. Keuntungannya menggunakan DataReader adalah resource yang dipakai lebih sedikit.

Untuk itu DataAdapter memiliki empat buah Command yaitu SelectCommad. DataSet disimpan di dalam memory dalam bentuk format XML. DataAdapter database SelectCommand InsertCommand UpdateCommand DeleteCommand DataSet Untuk menggenerate otomatis InsertCommand.Update(ds. Bisa diambil kesimpulan bahwa dalam suatu DataSet di dalamnya terdiri dari beberapa DataTable. Method update ini menggunakan parameter DataTable yang ingin diupdate. dan menghapus data yang ada di dalam DataSet. Update data menggunakan DataAdapter DataAdapter dapat melakukan update ke database. sehingga data di database dan DataSet sinkron. UpdateCommand dan DeleteCommand kita dapat menggunakan bantuan class OledbCommandBuilder dengan menerima parameter berupa DataAdapter. Dim cmd As New OledbCommandBuilder(da) Setelah itu kita dapat menggunakan method Update untuk melakukan Update data dari DataSet ke database. Dengan kata lain DataAdapter juga dapat melakukan insert. Setelah proses selesai pada waktu yang diinginkan kita dapat melakukan operasi Update untuk mengupdate semua perubahan yang telah dilakukan dalam DataSet. mengubah data. Selanjutnya aplikasi dapat mengambil data. dan DeleteCommand. bukan ke database. Tentunya prosesnya akan cepat karena data berada di dalam memory. Masing-masing DataTable tersebut data kita beri nama yang berbeda-beda.Tables(“Pelanggan”)) ADO. da.NET Page 17 of 45 . menambahkan data.Update(dt) atau da.Setiap kita melakukan fill ke DataSet maka di dalamnya akan degenerate sebuah DataTable. InsertCommand.update dan delete. UpdateCommand.

Maka semua data original akan dicopykan dan menimpa data current sehingga data kembali seperti semula seperti saat pertama kali diload dari database. Deleted. Setelah proses Update selesai dan tidak terjadi masalah maka status pada masing-masing row akan kembali diset menjadi Unchanged. Kemudian setelah data pada DataTable diubah maka statusnya pun berubah-ubah ada yang Added. Maka user tersebut harus merefresh kembali data terakhir dari database dengan cara melakukan fill kembali pada DataTable. Setiap DataRow memiliki RowState yang berbeda-beda.NET Page 18 of 45 . Kebalikan dari method ini adalah AcceptChanges di mana semua status pada data current untuk masingmasing DataRownya dijadikan Unchanged. Ini disebut dengan DBConcurrencyException. Jika menemukan status Added berarti DataAdapter akan menyuruh InsertCommand untuk melakukan proses insert ke database demikian pula dengan yang lainnya. Pada saat melakukan perintah Update sebaiknya menggunakan Try-Catch karena pada saat update dijalankan kemungkinan bisa terjadi Exception yang disebabkan oleh masalah Concurrency.Pada saat method Update dipanggil maka semua DataRow pada DataTable akan dicek satu per satu RowStatenya. Data original adalah data yang sesuai dengan pertama kali DataTable tersebut difill oleh DataAdapter. Untuk mengembalikan data current menjadi data original dapat menggunakan method RejectChanges. Setiap data table menyimpan data original dan data current. Sedangkan data current adalah data yang sedang digunakan atau dapat diubah-ubah. Pada saat method update DataAdapter akan mengecek statusnya masing-masing dan melakukan proses insert.update atau delete bila dibutuhkan disesuaikan dengan status rownya. Hal ini terjadi pada saat program disconnected data source di mana multiuser sedang berusaha untuk mengupdate data yang sama. Modified. Karena sifatnya yang disconnected maka pengupdatean data yang dilakukan oleh satu user tidak diketahui oleh user lain hingga user tersebut berusaha mengupdate dan mendapatkan pesan error. Pada awalnya RowStatenya adalah Unchanged. ADO.

NET Page 19 of 45 .ADO.

Count Mendapatkan jumlah kolom Dim jumlah As Integer = dt.ColumnName ADO.Rows.Columns(0).NET Page 20 of 45 .Bagian 6 DataSet Structure Struktur DataSet DataRow DataSet DataTable DataColumn DataTable DataTable Mendapatkan jumlah baris Dim jumlah As Integer = dt.Columns.Count Mendapatkan nama kolom Dim str As String = dt.

Columns(“Nomor”) dt.Find(“1”) dr(“Nama”) = “Johny” dr(“Telp”) = “08159126556” ADO. Dim str As String = dt.Rows(0)(0) Code di atas kita mengambil data pada baris ke-0 ( paling atas ) dan kolom ke-0 Atau dapat pula menggunakan string seperti berikut.Mendapatkan data pada cell tertentu Dim str As String = dt.Rows.Rows(0)(“Nomor”) ( paling kiri ).PrimaryKey = arr Dengan memberikan Primary Key pada DataTable kita dapat menggunakan method seperti Find dan Contains untuk mencari data pada DataTable.Rows.Clear() Mendefine Primary Key untuk DataTable Dim arr(0) As DataColumn arr(0) = dt. Menambahkan DataRow baru ke dalam DataTable Dim dr As DataRow = dt.NET Page 21 of 45 .Rows.Add(dr) Mengubah data pada DataRow Dim dr As DataRow = dt.NewRow dr(“No”) = “1” dr(“Nama”) = “Johny” dr(“Telp”) = “08159126556” dt. Membuang semua baris dt.

DataGrid1.Columns(“Sub Total”).Find(“1”) dt.DataType = System. Menghapus data row dari DataTable Dim dr As DataRow = dt.Decimal”) dt.Columns.Int32”) dt.Rows.Decimal”) dt.GetType(“System.Add(“Sub Total”) dt. Untuk menambahkan datarow masih tetap menggunakan cara seperti di atas termasuk cara pengubahan dan penghapusan datarow.GetType(“System. Atau dapat menggunakan indeks seperti berikut ini.DataSource = dt ADO.Columns(“Sub Total”).Add(“Jumlah”) dt.Columns.Columns.DataType = System.Contoh di atas adalah mengubah DataRow yang Nomornya 1. Kemudian kita bisa menentukan tipe datanya dan membuat column expression.Add(“Harga”) dt.Type.Expression = “Harga * Jumlah” Kemudian bisa ditampilkan ke datagrid.Rows.Columns.NET Page 22 of 45 .Type.Columns(“Jumlah”).Columns(“Harga”). Dim dt As New DataTable dt.GetType(“System.Add(“Nama Barang”) dt. dt.DataType = System.Remove(dr) Code di atas digunakan untuk membuang record yang Nomornya 1.Type.RemoveAt(0) Kita dapat membuat kolom sendiri pada DataTable.Rows. Pastikan anda sudah memberikan Primary Key pada DataTable baru method Find bisa digunakan. Method Find akan mencari pada DataTable dan mengembalikan instance dari DataRownya.

NET Page 23 of 45 .Menggunakan TableMappingStyle Buatlah DataGrid kemudian masuk ke properties TableStyles. Dim dt As New DataTable(“NamaTable”) Maka semua settingan yang berlaku di TableStyle adalah untuk DataTable yang bernama “NamaTable”. Kemudian akan muncul tampilan seperti di bawah ini. ukuran barisnya dan juga mengatur kolom-kolomnya. Untuk mengatur kolom-kolomnya masuk ke properties GridColmnStyles. Kita dapat melakukan berbagai macam settingan . ADO. Tambahkanlah style baru. status ReadOnly. Nama DataTable sesuai dengan pada saat dideklarasikan. seperti warna. Pada bagian MappingName masukkan nama DataTablenya.

Di sini untuk setiap kolomnya kita masukkan nilai MappingName sesuai dengan nama pada DataColumn dari DataTable. dan NullText untuk mengatur teks pengganti nilai null. ADO.NET Page 24 of 45 . setting alignment. HeaderText untuk teks pada header kolom.status read only per kolom.

ADO.NET Page 25 of 45 . create table Teman [id] int.@nama. sehingga pada aplikasi tinggal memanggil stored procedure tersebut dengan mengirimkan parameter-parameter yang dibutuhkan. [telp] varchar(15). PRIMARY KEY [id] ) Misalkan kita buat dulu stored procedure di SQL Server. @nama as varchar(30).@telp) Kemudian di aplikasi yang kita buat kita dapat memanggil stored procedure dengan menggunakan Command sebagai berikut. create procedure INSERT_DATA @id as int. Misalkan kita memiliki tabel dengan struktur sebagai berikut.Bagian 7 Penggunaan Stored Procedure dan Transaction Stored Procedure Stored Procedure adalah sebuah proses / prosedur yang dibuat dan disimpan terintegrasi dengan database. [nama] varchar(30). @telp as varchar(15) As INSERT INTO Teman VALUES(@id.

rollback() End Try If con.CommandText = “INSERT_DATA” cmd.Parameters.Data Source=.Connection = con cmd.Value = “Andy Yulianto” cmd.Add(“@id”.Add(“@id”.CommandType = CommandType.Int ) cmd.Parameters.Imports System.VarChar.Open() cmd. Data akan benar-benar disimpan ke database setelah proses Commit. jika terjadi kegagalan kita lakukan proses Rollback. SqlDbType.Parameters(“@nama”).Open() cmd = con. 15 ) cmd.SqlClient Dim con As New SqlConnection Dim cmd As New SqlCommand con.Parameters.. Imports System.ExecuteNonQuery() trans.BeginTransaction() cmd.Value = “Andy Yulianto” cmd.ExecuteNonQuery() con.Parameters(“@nama”). 30) cmd.CommandType = CommandType.Int ) cmd.1.Varchar.uid=sa.Parameters. SqlDbType.CreateCommand() trans = con.Close() ADO..Parameters(“@id”). SqlDbType.pwd=evotraining. 15 ) cmd.Add(“@telp”.Connection = con cmd. SqlDbType.Data Source=.Parameters(“@telp”).Parameters(“@telp”).SqlClient Dim con As New SqlConnection Dim cmd As SqlCommand Dim trans As SqlTransaction con.CommandText = “INSERT_DATA” cmd. SqlDbType.Persist Security Info=true” cmd. SqlDbType.Value = “0815915565” cmd.Parameters.Value = 1 cmd.Persist Security Info=true” Try con.Data. 30) cmd.Open Then con.Parameters.VarChar.Add(“@nama”.pwd=evotraining.uid=sa.Varchar.Value = “0815915565” con.Data.ConnectionString = “Provider=SQLOLEDB.Initial Catalog=Teman.Transaction = trans cmd.Parameters(“@id”).Value = 1 cmd.Initial Catalog=Teman.Add(“@nama”.1.Close() Transaction Transaction digunakan untuk mengatur pemanipulasian data.Add(“@telp”.ConnectionString = “Provider=SQLOLEDB.StoredProcedure cmd.commit() Catch ex As Exception trans.StoredProcedure cmd.State=ConnectionState.NET Page 26 of 45 .

Demikian pula dengan sort. Jika ingin menghilangkan efe filter dapat mengeset nilai RowFilter ke keadaan string kosong. dv.DataSource = dv Untuk melakukan filter misalkan yang CompanyName-nya diawali dengan huruf “A”. dv. Untuk melakukan sorting berdasarkan field tertentu.1.NET Page 27 of 45 .con) dt As New DataTable(“Customers”) dv As DataView con. Imports System.Initial Catalog=Northwind.fill(dt) dv = new DataView(dt) datagrid1.Persist Security Info=true” da.pwd=evotraining.RowFilter = “CompanyName LIKE ‘A%’” Penggunaan filter hamper sama dengan penggunaan WHERE pada SQL statement. dv.Data..Bagian 8 DataView Dalam bab ini kita dapat melakukan filtering dan sorting secara local tanpa harus query ke database dengan menggunakan dataview.SqlClient Dim Dim Dim Dim con As New SqlConnection da As New SqlDataAdapter(“select * from Customers”.uid=sa.RowFilter = “” dv.Data Source=.Sort =”” ADO.ConnectionString = “Provider=SQLOLEDB.Sort = “CompanyName ASC” Maka data yang akan ditampilkan pada DataGrid menurut RowFilter dan Sort yang ada.

NET Page 28 of 45 . ADO.Bab 9 Crystal Report Pada bagian awal Crystal Report pilih Blank Report untuk membuat report baru.

Kemudian kita diharuskan memilih data source untuk reportnya. Untuk memilih file access pilih Databae Files.NET Page 29 of 45 . ADO. Masukkan informasi untuk melakukan koneksi. untuk Microsoft SQL Server bisa ditemukan di More Data Sources > Microsoft SQL Server. Kemudian akan dimunculkan tabel-tabel yang ada di database.

Pilih salah satu tabel misalkan [Products by Category].NET Page 30 of 45 . ADO.

Grouping Dalam contoh ini kita masih menggunakan database NorthWind. Pilih menu Insert ► Group ADO. Untuk melihat hasilnya tekan tombol Refresh di bagian atas. Pada bagian Database Fields masukkan field-field [Products by Category] ke bagian detail. menggunakan view [Products By Category].Pada pembuatan Crystal Report ada Field Explorer.NET Page 31 of 45 . Di sini kita tambahkan Group.

ADO.NET Page 32 of 45 .

ADO.NET Page 33 of 45 .Kita bisa menambahkan Box untuk membuat kerangka pada laporan.

jumlah yang dibeli dan sebagainya. daftar barang yang dibeli apa saja. customernya siapa. Laporan yang ingin dibuat adalah laporan transaksi mencakup tanggal transaksi. Tabel : Orders. [Order Details].NET Page 34 of 45 . Products ADO.Membuat laporan dari transaksi Untuk laporan transaksi kita gunakan beberapa tabel. Customers.

ADO.Menambahkan Formula Buat formula dengan nama SubTotal di mana menggunakan rumus perkalian antara harga dikali dengan jumlah yang dibeli.NET Page 35 of 45 .

di mana data laporan yang dibutuhkan kita buat view-nya terlebih dahulu (dalam Microsoft Access disebut dengan Query). ADO. Cara yang pertama.NET Page 36 of 45 .5). tambahkan form untuk menampilkan reportnya di mana terdapat CrystalReportViewer. setelah kita buat rancangan reportnya dengan Crystal Report (dalam hal ini Crystal Report 8. Dari sisi aplikasi kita tinggal menampilkan report tersebut dengan menggunakan CrystalReportViewer. Cara yang pertama adalah kita membuat rancangan report dengan Crystal Report yang mengambil data dari database secara langsung.Mengintegrasikan report ke dalam aplikasi Dalam mengintegrasikan laporan ke aplikasi terdapat beberapa cara. Cara kedua kita dapat menggunakan Typed DataSet. kemudian data tersebut kita load ke dalam DataSet kemudian dipakai untuk report.

Ubahlah properties dari CrystalReportViewer tersebut sebagai berikut: Properties (Name) Dock Value CRV Fill ADO.FormReportIntegration.NET Page 37 of 45 .vb Kemudian drag-n-drop lah CrysalReportViewer ke dalam form.vb FormReport.

Tambahkan code berikut Imports CrystalDecisions. Setelah itu baru tampilkan melalui FormReport dengan CrystalReportViewer. "evotraining". "(local)".CRV.CrystalReports.ReportSource = oRpt f.SetDatabaseLogon("sa".ShowDialog() End Sub End Class ReportDocument adalah class untuk abstraksi objek report yang akan ditampilkan.Engine Public Class FormReportIntegration … Private Sub btnShow_Click(sender As Object. dan nama database yang dibutuhkan untuk koneksi ke database. Kemudian SetDatabaseLogon untuk mengirimkan informasi user. "Northwind") Dim f As New FormReport f. nama server. ADO.StartupPath & "\ReportFile. password.Load(Application.e As EventArgs) handles btnShow.Maximized f. Method Load digunakan untuk membaca file report yang sudah dirancang. Spesifikasikan letak file report di sini.NET Page 38 of 45 . Add Reference Pilih Project > Add Reference 2.1.Click Dim oRpt As New ReportDocument oRpt.WindowState = FormWindowState.rpt") oRpt.

dan XML untuk menampilkan dalam format XML. Pada bagian bawah terdapat pilihan DataSet untuk menampilkan perancangan dengan drag-n-drop. Attribute dan sebagainya sesuai dengan standard penulisan XML. ADO. Pada bagian kiri Toolbox terdapat berbagai macam pilihan seperti Element.Cara Kedua adalah dengan menggunakan Typed DataSet.NET Page 39 of 45 . Pada Solution Explorer. klik kanan pada project pilih Add > Add New Item > DataSet. Kemudian akan tampil layar di mana kita dapat mendefinisikan schema DataSet dalam bentuk format XML. Kemudian isi nama dataset pada kotak dialog yang tampil.

NET Page 40 of 45 .Tampilan XSD dalam bentuk format XML ADO.

Pilihlah salah satu view yang tersedia.Untuk memudahkan data yang dibutuhkan laporan biasanya merupakan hasil join dari beberapa tabel. Maka rancangan tabelnya dalam DataSet akan di-generate secara otomatis. ADO. drag-n-drop pada bagian berwarna kuning. Setelah itu tampilkan Server Explorer (Ctrl+Alt+S).NET Page 41 of 45 . Sebaiknya dari semua tabel-tabel tersebut kita gabungkan (join) dan dibuat dalam bentuk view (Query di Microsoft Access).

mengambil data dari view tersebut ke dalam DataTable yang ada di dalam DataSet. klik kanan pada Project.Dengan membuat Typed DataSet. pilih Add > Add New Item > Crystal Report. Crystal Report yang digunakan untuk metode ini adalah Crystal Report 10 yang sudah terintegrasi dengan Visual Studio. Langkah selanjutnya adalah kita melakukan koneksi ke database.NET Page 42 of 45 . ADO. kemudian dipakai sebagai data source untuk Report. berarti kita telah membuat suatu class turunan dari DataSet.NET 2003 sendiri. di mana di dalamnya terdefinisi DataTable apa saja yang ada di dalam DataSet tersebut. Pada Solution Explorer. berbeda seperti Untyped DataSet yang di mana DataTable-nya terbentuk karena proses fill dari DataAdapter.

Pada bagian kanan klik kanan pada Database Fields > Pilih Add/Remove Database ADO.NET Page 43 of 45 .

Load data dari database ke dalam DataTable di dalam DataSet (Typed DataSet) 3.Kemudian Add Data Source yang diinginkan. SetDataSource objek ReportDocument yang digunakan 4. Kemudian rancanglah tampilan report seperti biasa. Gunakanlah database field yang disediakan.NET Page 44 of 45 . Buat koneksi ke database 2. Pada bagian Database Fields. Tampilkan dengan CrystalReportViewer ADO. Setelah rancangan report selesai dibuat maka langkahlangkahnya sebagai berikut : 1.

con) Dim ds As New dsReport ‘using typed data set da.Tables(“Products_by_Category”)) Dim f As New FormReport f.ShowDialog() End Sub End Class ADO.SetDataSource(ds.NET Page 45 of 45 .e As EventArgs) handles btnShow.ReportSource = oRpt f.CrystalReports.Maximized f.CRV.Tables(“Products_by_Category”)) Dim oRpt As New ReportDocument oRpt.fill(ds.Data.StartupPath & "\ReportFile.Engine Imports System.Load(Application.Click Dim con As New OledbConnection(“ … connection string here … “) Dim da As New OledbDataAdapter(“select * from [Products By Category]”.rpt") oRpt.Pada saat menampilkan report terdapat sedikit modifikasi pada code sebagai berikut: Imports CrystalDecisions.WindowState = FormWindowState.Oledb Public Class FormReportIntegration … Private Sub btnShow_Click(sender As Object.

NET Template: C:\Documents and Settings\EVO\Application Data\Microsoft\Templates\Normal.doc Directory: D:\Evo\RnD\diktat\special\ADO.201 (approx.) Number of Characters: 20.) .543 (approx.dot Title: Subject: Author: Administrator Keywords: Comments: Creation Date: 7/21/2005 1:54:00 PM Change Number: 210 Last Saved On: 4/12/2006 12:58:00 PM Last Saved By: EVO Total Editing Time: 1.NET.146 Minutes Last Printed On: 4/27/2006 3:41:00 PM As of Last Complete Printing Number of Pages: 45 Number of Words: 3.Filename: ADO.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->