You are on page 1of 7

ADO.

NET

merupakan

yang

NET

bertanggung

pengaksesan

library

jawab

basis

sebagai
untuk

data

bagian

dari

DotNet

memberikan

secara

universal

Framework

kemudahan

yang

tidak

yang

tergabung

dalam
tergantung

oleh jenis basis data nya.


ADO.NET

menyediakan

beberapa

namespace.

class-class

kedalam

kumpulan

class-class

Namespace
nama

adalah

tertentu.

pengelompokkan

Tiap

jenis

dalam

secara

basis

logik

data

memiliki

namespace yang unik yang terdiri dari class-class spesifik


Misal

untuk

DBMS

MS

Access

System.Data.OleDb dan

namespace

untuk

yang

digunakan

SQL

adalah

Server

adalah

System.Data.SqlClient
Kumpulan class-class dalam namespace tersebut :
MS Access
System.Data.OleDb
OleDBConnection

OleDbCommand

Membuka

OleDbDataReader

Koneksi

Mengeksekusi

Membaca

perintah

record

secara

SQL

forward

only

OleDbDataAdapter = Penghubung Ke DataSet


SQL Server
System.Data.SqlClient
SqlConnection

SqlCommand

Membuka

SqlDataReader

Koneksi

Mengeksekusi

Membaca

perintah

record

secara

SQL

forward

only

SqlDataAdapter = Penghubung Ke DataSet


Namespace

ini

harus

selalu

dipanggil

dengan

menggunakan

keyword

using

contoh :

using System.Data.OleDb;

atau

using 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

dilakukan

untuk

membuat

menggunakan

ADO.NET

ritual nya adalah sebagai berikut :


1. Buka Koneksi
Hal
adalah

pertama

yang

membuka

harus

koneksi.

Koneksi

ini

selalu

diperlukan

aplikasi
untuk

basis

data

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

property

ConnectionString

untuk MS Access, dan SqlConnection untuk SQL Server.


OleDbConnection
yang

harus

dan

diisi.

SqlConnection

selain

lewat

membutuhkan

property

Connection

String

bisa

ditambahkan

juga

sebagai parameter constructor class.


Connection

String

tiap

menunjukan

provider

database

DBMS

berbeda-beda.

yang

digunakan

Connection

beserta

letak

String

ini

direktori

dan

nama database nya baik lokal maupun remote database


Contoh source code untuk buka koneksi :
MS Access :

1
2
3

string connStr="Provider=Microsoft.Jet.OleDb.4.0;Data Source=c:\NWIND.mdb";


OleDbConnection conn=new OleDbConnection(connStr);
conn.Open();

atau bisa seperti ini :

1
2
3
4

string connStr="Provider=Microsoft.Jet.OleDb.4.0;Data Source=c:\NWIND.mdb";


OleDbConnection conn=new OleDbConnection();
conn.ConnectionString=connStr;
conn.Open();

SQL Server :

1
2
3

string connStr="Data Source=DOSEN\SQLEXPRESS;Initial Catalog=NWIND;Integrated


Security=True";
SqlConnection conn=new SqlConnection(connStr);
conn.Open();

Data

Source

pada

ConnStr

diisi

nama

server

lokal

atau

bisa

diisi

IP Address jika menggunakan server remote.


2. Eksekusi Perintah SQL
Setelah

koneksi

SQL

yang

terbuka,
akan

adalah

bahasa

yang

Tanpa

perintah

SQL

langkah

berikutnya

dieksekusi.
digunakan
user

adalah

memanggil

SQL

(Structure

untuk

berkomunikasi

tidak

dapat

Query

melakukan

perintah
Language)

dengan

DBMS.

apapun

terhadap

SQL

sifatnya

sintaksis

karena

Database.
Perintah

SQL

deklaratif

dan

berbeda
lebih

dengan
mudah

bahasa

pemrograman,

dimengerti

secara

menggunakan bahasa sehari-hari (bahasa inggris).


SQL

tidak

bahasa

memiliki

pemrograman.

digabungkan

dengan

control

flow

Untuk
bahasa

bisa lebih dinamis.


Secara umum perintah SQL terbagi 3, yaitu :

dan
menangani

deklarasi
hal

pemrograman

variabel

seperti

tersebut
tertentu

SQL

halnya
bisa
sehingga

DDL (Data Defenition Language)


Perintah

untuk

terkait

membuat

yang

ada

Database

dalam

baru,

database

dan

tersebut.

pemanipulasian
Contoh

objek-objek

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

hanya

tersedia

berhubungan
untuk

dengan

Database

manajemen
bertipe

user.

Perintah

client-server

yang

DCL

ini

penggunanya

lebih dari 1 user. Contoh : GRANT, REVOKE


Class

yang

digunakan

OleDbCommand

pada

OleDbCommand

MS

dan

untuk

mengeksekusi

Access

atau

perintah

SqlCommand

SqlCommand

SQL

pada

adalah

SQL

Server.

memiliki

parameter

constructor

method

utama ExecuteNonQuery()

perintah sql dan Connection.


Contoh :
Class

OleDbCommand

memiliki

dan ExecuteReader() method


untuk

mengeksekusi

ExecuteNonQuery()
perintah

SQL

manipulasi

digunakan
data

seperti

INSERT, UPDATE, dan DELETE


method
sql

ExecuteReader()
SELECT,

return

digunakan
value

dari

hanya
method

untuk
tersebut

adalah

perintah
objek

OleDbDataReader atau SqlDataReader


INSERT
MS Access :

1
2
3

string sql="INSERT INTO Customers (Nama,Alamat) VALUES ('XERIS','Sentul


Valley');
OleDbCommand cmd=new OleDbCommand(sql,conn);
cmd.ExecuteNonQuery();

atau :

1
2
3
4
5
6

string sql="INSERT INTO Customers (Nama,Alamat) VALUES ('XERIS','Sentul


Valley');
OleDbCommand cmd=new OleDbCommand();
cmd.Connection=conn;
cmd.CommandText=sql;
cmd.ExecuteNonQuery();

SQL Server :

1
2
3

string sql="INSERT INTO Customers (Nama,Alamat) VALUES ('XERIS','Sentul


Valley');
SqlCommand cmd=new SqlCommand(sql,conn);
cmd.ExecuteNonQuery();

atau :

1
2
3
4
5
6

string sql="INSERT INTO Customers (Nama,Alamat) VALUES ('XERIS','Sentul


Valley');
SqlCommand cmd=new SqlCommand();
cmd.Connection=conn;
cmd.CommandText=sql;
cmd.ExecuteNonQuery();

UPDATE
MS Access :

1
2
3

string sql="UPDATE Customers SET Nama='XERIS System',Alamat='BOGOR' WHERE


CustomerID=1;
OleDbCommand cmd=new OleDbCommand(sql,conn);
cmd.ExecuteNonQuery();

SQL Server :

1
2
3

string sql="UPDATE Customers SET Nama='XERIS System',Alamat='BOGOR' WHERE


CustomerID=1;
SqlCommand cmd=new SqlCommand(sql,conn);
cmd.ExecuteNonQuery();

DELETE
MS Access :

1
2
3

string sql="DELETE Customers WHERE CustomerID=1;


OleDbCommand cmd=new OleDbCommand(sql,conn);
cmd.ExecuteNonQuery();

SQL Server :

1
2
3

string sql="DELETE Customers WHERE CustomerID=1;


SqlCommand cmd=new SqlCommand(sql,conn);
cmd.ExecuteNonQuery();

3. Menampilkan Data
Untuk

menampilkan

OleDbDataReader
forward-only

artinya

data
dan
hanya

di

ADO.NET

SqlDataReader
bisa

baca

class

yang

DataReader
maju

ke

digunakan
ini
depan,

Move previos atau Move Next seperti pada ADO classic


MS Access

1
2
3
4
5
6
7
8
9
10
11

string sql="SELECT * FROM Customers;


OleDbCommand cmd=new OleDbCommand(sql,conn);
OleDbDataReader rdr=cmd.ExecuteReader();
while (rdr.Read())
{
Console.WriteLine(Convert.ToInt32(rdr["CustomerID"]));
Console.WriteLine(Convert.ToString(rdr["Nama"]));
}
rdr.Close();

adalah
sifatnya

tidak

bisa

SQL Server

1
2
3
4
5
6
7
8
9
10
11

string sql="SELECT * FROM Customers;


SqlCommand cmd=new SqlCommand(sql,conn);
SqlDataReader rdr=cmd.ExecuteReader();
while (rdr.Read())
{
Console.WriteLine(Convert.ToInt32(rdr["CustomerID"]));
Console.WriteLine(Convert.ToString(rdr["Nama"]));
}
rdr.Close();

Pemanggilan

method

Customers

dan

ExecuteReader()
disimpan

Untuk

menampilkan

record

looping

while.

data

dengan

Jika

perintah

menghasilkan

di

objek

di

tersebut

ada

Console.WriteLine.

record

tabel

OleDbDataReader/SqlDataReader.

object

tersebut

semua

maka

Convert

gunakan

statement

tampilkan

berfungsi

di

Console

untuk

mengubah

objek ke tipe yang bersesuaian dengan tipe field di table nya


4. Pencarian Data
Salah

satu

operasi

operasi

yang

paling

banyak

pencarian/seraching.Untungnya

dilakukan

DBMS

dibasis

data

menyediakan

adalah

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

Sandra

Dewi

Dewi

Sandra

Dewi

Persik

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

mengandung kata dewi baik nama depan, belakang, maupun tengah

tabel

customer

yang

query

SELECT

FROM

akan

mencari

semua

Customers
data

di

WHERE
tabel

Nama

LIKE

Customers

yang

%dewi'(%
nama

didepan)

belakangnya

mengandung kata dewi. Record yang dihasilkan adalah no 1 dan 4


query
(%

SELECT
dibelakang)

nama

depannya

FROM

akan

Customers

mencari

mengandung

semua
kata

WHERE
data

dewi,

di
data

Nama
tabel
yang

LIKE
Customers
dihasilkan

dewi%
yang
adalah

no 2,3, dan 4.
Lalu

bagaimana

dengan

Cinta

Laura,

bagaimana

cara

menampilkannya?

WHERE

Nama=Cinta

(jangan khawatir cin,kamu pasti bisa tampil :-))


untuk menampilkan Cinta Laura bisa 3 cara :
SELECT

FROM

Customers

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
3
4
5
6
7
8
9
10
11
12
13

string cari="dewi";
string sql="SELECT * FROM Customers WHERE Nama LIKE '%" + cari + "'%';
OleDbCommand cmd=new OleDbCommand(sql,conn);
OleDbDataReader rdr=cmd.ExecuteReader();
while (rdr.Read())
{
Console.WriteLine(Convert.ToInt32(rdr["CustomerID"]));
Console.WriteLine(Convert.ToString(rdr["Nama"]));
}
rdr.Close();

SQL Server

1
2
3
4
5
6
7
8
9
10
11

string cari="dewi";
string sql="SELECT * FROM Customers WHERE Nama LIKE '%" + cari + "'%';
SqlCommand cmd=new SqlCommand(sql,conn);
SqlDataReader rdr=cmd.ExecuteReader();
while (rdr.Read())
{
Console.WriteLine(Convert.ToInt32(rdr["CustomerID"]));
Console.WriteLine(Convert.ToString(rdr["Nama"]));
}

12
13

rdr.Close();

You might also like