Anda di halaman 1dari 8

Pengenalan ADO.

NET
ADO.NET merupakan NET library sebagai bagian dari DotNet Framework yang bertanggung jawab untuk memberikan kemudahan dalam pengaksesan basis data secara universal yang tidak tergantung oleh jenis basis data nya. ADO.NET menyediakan kumpulan class-class yang tergabung dalam beberapa namespace. Namespace adalah pengelompokkan secara logik class-class kedalam nama tertentu. Tiap jenis basis data memiliki namespace yang unik yang terdiri dari class-class spesifik Misal untuk DBMS MS Access namespace yang digunakan adalah System.Data.OleDb dan untuk SQL Server adalah System.Data.SqlClient Kumpulan class-class dalam namespace tersebut : MS Access System.Data.OleDb OleDBConnection = Membuka Koneksi OleDbCommand = Mengeksekusi perintah SQL OleDbDataReader = Membaca record secara forward only OleDbDataAdapter = Penghubung Ke DataSet SQL Server System.Data.SqlClient SqlConnection = Membuka Koneksi SqlCommand = Mengeksekusi perintah SQL SqlDataReader = Membaca record secara forward only SqlDataAdapter = Penghubung Ke DataSet Namespace ini harus selalu dipanggil dengan menggunakan keyword using contoh : 1using System.Data.OleDb; atau 1using System.Data.SqlClient

Jika namespace tersebut tidak dipanggil maka class-class yang berada dalam namespace yang bersangkutan tidak bisa digunakan Menggunakan ADO.NET Ketika kita berhubungan dengan basis data menggunakan ADO.NET ritual nya adalah sebagai berikut : 1. Buka Koneksi Hal pertama yang harus dilakukan untuk membuat aplikasi basis data adalah membuka koneksi. Koneksi ini selalu diperlukan untuk menjalankan operasi-operasi manipulasi data seperti INSERT, UPDATE dan DELETE ataupun meng-query record tertentu dengan perintah SELECT Class yang bertugas untuk membuka koneksi adalah OleDbConnection untuk MS Access, dan SqlConnection untuk SQL Server. OleDbConnection dan SqlConnection membutuhkan property ConnectionString yang harus diisi. selain lewat property Connection String bisa ditambahkan juga sebagai parameter constructor class. Connection String tiap database berbeda-beda. Connection String ini menunjukan provider DBMS yang digunakan beserta letak direktori dan nama database nya baik lokal maupun remote database Contoh source code untuk buka koneksi : MS Access : 1string connStr="Provider=Microsoft.Jet.OleDb.4.0;Data Source=c:\NWIND.mdb"; 2OleDbConnection conn=new OleDbConnection(connStr); 3conn.Open(); atau bisa seperti ini : 1string connStr="Provider=Microsoft.Jet.OleDb.4.0;Data Source=c:\NWIND.mdb"; 2OleDbConnection conn=new OleDbConnection(); 3conn.ConnectionString=connStr; 4conn.Open(); SQL Server :
connStr="Data Source=DOSEN\SQLEXPRESS;Initial Catalog=NWIND;Integrated 1string Security=True"; 2SqlConnection conn=new SqlConnection(connStr);

3conn.Open(); Data Source pada ConnStr diisi nama server lokal atau bisa diisi IP Address jika menggunakan server remote. 2. Eksekusi Perintah SQL Setelah koneksi terbuka, langkah berikutnya adalah memanggil perintah SQL yang akan dieksekusi. SQL (Structure Query Language) adalah bahasa yang digunakan untuk berkomunikasi dengan DBMS. Tanpa perintah SQL user tidak dapat melakukan apapun terhadap Database. Perintah SQL berbeda dengan bahasa pemrograman, SQL sifatnya deklaratif dan lebih mudah dimengerti secara sintaksis karena menggunakan bahasa sehari-hari (bahasa inggris). SQL tidak memiliki control flow dan deklarasi variabel seperti halnya bahasa pemrograman. Untuk menangani hal tersebut SQL bisa digabungkan dengan bahasa pemrograman tertentu sehingga bisa lebih dinamis. Secara umum perintah SQL terbagi 3, yaitu : DDL (Data Defenition Language) Perintah untuk membuat Database baru, dan pemanipulasian objek-objek terkait yang ada dalam database tersebut. Contoh : CREATE TABLE, DROP TABLE, ALTER TABLE DML (Data Manipulation Language) Berhubungan dengan query dan pemanipulasian table di database. Contoh : SELECT, INSERT, UPDATE, DELETE DCL (Data Control Language) Perintah yang berhubungan dengan manajemen user. Perintah DCL ini hanya tersedia untuk Database bertipe client-server yang penggunanya lebih dari 1 user. Contoh : GRANT, REVOKE Class yang digunakan untuk mengeksekusi perintah SQL adalah OleDbCommand pada MS Access atau SqlCommand pada SQL Server. OleDbCommand dan SqlCommand memiliki parameter constructor perintah sql dan Connection.

Contoh : Class OleDbCommand memiliki method utama ExecuteNonQuery() dan ExecuteReader() method ExecuteNonQuery() digunakan untuk mengeksekusi perintah SQL manipulasi data seperti INSERT, UPDATE, dan DELETE method ExecuteReader() digunakan hanya untuk perintah sql SELECT, return value dari method tersebut adalah objek OleDbDataReader atau SqlDataReader INSERT MS Access : 1string sql="INSERT INTO Customers (Nama,Alamat) VALUES ('XERIS','Sentul Valley'); 2OleDbCommand cmd=new OleDbCommand(sql,conn); 3cmd.ExecuteNonQuery(); atau : 1string sql="INSERT INTO Customers (Nama,Alamat) VALUES ('XERIS','Sentul 2Valley'); OleDbCommand cmd=new OleDbCommand(); 3cmd.Connection=conn; 4cmd.CommandText=sql; 5 6cmd.ExecuteNonQuery(); SQL Server : 1string sql="INSERT INTO Customers (Nama,Alamat) VALUES ('XERIS','Sentul Valley'); 2SqlCommand cmd=new SqlCommand(sql,conn); 3cmd.ExecuteNonQuery(); atau : 1string sql="INSERT INTO Customers (Nama,Alamat) VALUES ('XERIS','Sentul 2Valley'); SqlCommand cmd=new SqlCommand(); 3cmd.Connection=conn; 4cmd.CommandText=sql; 5 6cmd.ExecuteNonQuery(); UPDATE MS Access :

1string sql="UPDATE Customers SET Nama='XERIS System',Alamat='BOGOR' WHERE CustomerID=1; 2OleDbCommand cmd=new OleDbCommand(sql,conn); 3cmd.ExecuteNonQuery(); SQL Server : 1string sql="UPDATE Customers SET Nama='XERIS System',Alamat='BOGOR' WHERE CustomerID=1; 2SqlCommand cmd=new SqlCommand(sql,conn); 3cmd.ExecuteNonQuery(); DELETE MS Access : 1string sql="DELETE Customers WHERE CustomerID=1; 2OleDbCommand cmd=new OleDbCommand(sql,conn); 3cmd.ExecuteNonQuery(); SQL Server : 1string sql="DELETE Customers WHERE CustomerID=1; 2SqlCommand cmd=new SqlCommand(sql,conn); 3cmd.ExecuteNonQuery(); 3. Menampilkan Data Untuk menampilkan data di ADO.NET class yang digunakan adalah OleDbDataReader dan SqlDataReader DataReader ini sifatnya forward-only artinya hanya bisa baca maju ke depan, tidak bisa Move previos atau Move Next seperti pada ADO classic MS Access 1 2 string sql="SELECT * FROM Customers; OleDbCommand cmd=new OleDbCommand(sql,conn); 3 OleDbDataReader rdr=cmd.ExecuteReader(); 4 5 while (rdr.Read()) 6 { Console.WriteLine(Convert.ToInt32(rdr["CustomerID"])); 7 8 } Console.WriteLine(Convert.ToString(rdr["Nama"])); 9 10rdr.Close(); 11 SQL Server

1 2 string sql="SELECT * FROM Customers; SqlCommand cmd=new SqlCommand(sql,conn); 3 SqlDataReader rdr=cmd.ExecuteReader(); 4 5 while (rdr.Read()) 6 { Console.WriteLine(Convert.ToInt32(rdr["CustomerID"])); 7 8 } Console.WriteLine(Convert.ToString(rdr["Nama"])); 9 10rdr.Close(); 11 Pemanggilan method ExecuteReader() menghasilkan semua record tabel Customers dan disimpan di objek OleDbDataReader/SqlDataReader. Untuk menampilkan record di object tersebut gunakan statement looping while. Jika data tersebut ada maka tampilkan di Console dengan perintah Console.WriteLine. Convert berfungsi untuk mengubah objek ke tipe yang bersesuaian dengan tipe field di table nya 4. Pencarian Data Salah satu operasi yang paling banyak dilakukan dibasis data adalah operasi pencarian/seraching.Untungnya DBMS menyediakan kemampuan pencarian tersebut di SQL dengan hanya menmbahkan clausa WHERE Contoh : Jika Anda ingin mendapatkan data Customer yang alamatnya di Bogor cukup seperti ini SELECT * FROM Customers WHERE Alamat=Bogor Pencarian dapat dilakukan lebih luas lagi dengan menggunakan operator LIKE SELECT * FROM Customers WHERE Nama LIKE %dewi% Jika diketahui datanya sebagai berikut # Namal 1 Sandra Dewi 2 Dewi Sandra 3 Dewi Persik 4 Dewi-Dewi 5 Cinta Laura

query SELECT * FROM Customers WHERE Nama LIKE %dewi% (% didepan dan dibelakang) akan menghasilkan record no 1,2,3, dan 4 perintah sql tersebut mencari semua data di tabel customer yang mengandung kata dewi baik nama depan, belakang, maupun tengah query SELECT * FROM Customers WHERE Nama LIKE %dewi(% didepan) akan mencari semua data di tabel Customers yang nama belakangnya mengandung kata dewi. Record yang dihasilkan adalah no 1 dan 4 query SELECT * FROM Customers WHERE Nama LIKE dewi% (% dibelakang) akan mencari semua data di tabel Customers yang nama depannya mengandung kata dewi, data yang dihasilkan adalah no 2,3, dan 4. Lalu bagaimana dengan Cinta Laura, bagaimana cara menampilkannya? (jangan khawatir cin,kamu pasti bisa tampil ) untuk menampilkan Cinta Laura bisa 3 cara : SELECT * FROM Customers WHERE Nama=Cinta Laura SELECT * FROM Customers WHERE Nama LIKE %cinta% atau SELECT * FROM Customers WHERE Nama NOT LIKE %dewi% hmmmcara terakhir sepertinya dipaksakan sekali Contoh Program : MS Access 1 2 string cari="dewi"; 3 string sql="SELECT * FROM Customers WHERE Nama LIKE '%" + cari + "'%'; 4 OleDbCommand cmd=new OleDbCommand(sql,conn); 5 OleDbDataReader rdr=cmd.ExecuteReader(); 6 7 while (rdr.Read()) 8 { Console.WriteLine(Convert.ToInt32(rdr["CustomerID"])); 9 Console.WriteLine(Convert.ToString(rdr["Nama"])); 10} 11 12rdr.Close(); 13

SQL Server 1 2 string cari="dewi"; 3 string sql="SELECT * FROM Customers WHERE Nama LIKE '%" + cari + "'%'; 4 SqlCommand cmd=new SqlCommand(sql,conn); 5 SqlDataReader rdr=cmd.ExecuteReader(); 6 7 while (rdr.Read()) 8 { Console.WriteLine(Convert.ToInt32(rdr["CustomerID"])); 9 Console.WriteLine(Convert.ToString(rdr["Nama"])); 10} 11 12rdr.Close(); 13

Anda mungkin juga menyukai