NAMA/NIM : Fitriana Faristia / 10.41010.0206
Dosen : Tan Amelia
Tugas : ADO.NET & Connected Application
ADO.NET adalah teknologi akses data universal terbaru berdasarkan prinsip tanpa koneksi (connectionless principle) yang didesain untuk mempermudah batasan koneksi yang dahulunya harus Anda perhatikan ketika membuat aplikasi terdistribusi. Aplikasi hanya terhubung ke database untk beberapa saat guna mengakses atau update data, kumudian diputus. data yang diakses dapat disimpan pada salah satu objek ADO.NET, yaitu pada DataSet atau DataView. Keuntungan dari disconnected architecture ialah mampu menangani lebih banyak user. Kelebihan lain data yang disimpan di DataSet berada di memori dan berformat XML.
Dosen : Tan Amelia
Tugas : ADO.NET & Connected Application
ADO.NET adalah teknologi akses data universal terbaru berdasarkan prinsip tanpa koneksi (connectionless principle) yang didesain untuk mempermudah batasan koneksi yang dahulunya harus Anda perhatikan ketika membuat aplikasi terdistribusi. Aplikasi hanya terhubung ke database untk beberapa saat guna mengakses atau update data, kumudian diputus. data yang diakses dapat disimpan pada salah satu objek ADO.NET, yaitu pada DataSet atau DataView. Keuntungan dari disconnected architecture ialah mampu menangani lebih banyak user. Kelebihan lain data yang disimpan di DataSet berada di memori dan berformat XML.
ADO.NET bertugas menyediakan fasilitas untuk
mengakses object data baik berupa data relational, data XML dan
aplikasi data lainnya.
Struktur
ADO.NET
ADO.NET merupakan suatu Class di dalam System.Data.Dll dan terintegrasi dengan Class XML di System.Xml.Dll
- Data Provider for SQL Server (System.Data.SqlClient).
- Data Provider for OLEDB (System.Data.OleDb).
- Data Provider for ODBC (System.Data.Odbc).
- Data Provider for Oracle (System.Data.OracleClient).
- Data ProviderData Provider merupakan komponen yang berisi nama piranti/driver yang akan digunakan oleh model obyek ADO.NET untuk mengakses sumber data. Data Provider mengandung beberapa object antara lain:
- Connection object : menyediakan koneksi ke Database(SqlConnection, OleDbConnection, OdbcConnection, OracleConnection)
- Command object : digunakan untuk melakukan pernyataan SQL atau prosedur yang akan dilaksanakan pada Database(SqlCommand, OleDbCommand, OdbcCommand, OracleCommand)
- DataReader object Aliran berbasis, forward-only, read-only pengambilan hasil query dari Database(SqlDataReader, OleDbDataReader, OdbcDataReader, OracleDataReader)
- DataAdapter object : mengisi Object Dataset dengan hasil dari
Database
(SqlDataAdapter, OleDbDataAdapter, OdbcDataAdapter, OracleDataAdapter). - Dataset
Dataset merupakan obyek yang terpisah dari sumber data dan dapat digambarkan sebagai sebuah record set yang terpisah. Pada dataset juga terdapat tabel, baris, kolom, relasi, constraint dan view.
DataSet memberikan representasi terputus hasil query dari Sumber Data, dan itu benar-benar independen dari Sumber Data(database). DataSet memberikan fleksibilitas jauh lebih besar ketika berhadapan dengan manipulasi data. DataSet terdiri dari kumpulan objek DataTable yang dapat berhubungan satu sama lain dengan DataRelation. DataTable berisi koleksi DataRow dan DataCoulumn. Objek DataAdapter menyediakan sebuah jembatan antara DataSet dan Sumber Data.
Secara
ringkas cara mengakses data dengan menggunakan ADO.NET dapat
dilelaskan sebagai berikut:
- Lakukan koneksi ke sumber data dengan menggunakan obyek connection.
- Obyek command digunakan untuk mengeksekusi perintah dengan parameter tabel, SQL atau stored procedure pada sumber data.
- Jika obyek command menghasilkan lebih dari sebuah nilai, obyek command akan menghasilkan sebuah DataReader untuk menyediakan sekumpulan data tersebut.
- DataAdapter juga dapat digunakan untuk membangun obyek Dataset.
3 komponen akses data yang utama yaitu :
1. OleDbConnection
OleDbConnection
merupakan komponen yang bertugas menangani koneksi ke database dan
menyediakan informasi-informasi data, seperti nama database, lokasi,
dan driver database yang digunakan untuk berhubungan dengan database.
Menggunakan driver berekstension .dll yang memnyediakan kode-kode
penting yang mengizinkan OleDbConnection untuk dapat berkomunikasi ke
database dengan caranya sendiri.
Contoh membuat
koneksi database Access :
string DB_STR {
get { return "Provider=Microsoft.Jet.OLEDB.4.0; Persist Security
Info=False; Data Source=" + Server.MapPath("nama
database"); } }
OleDbConnection
conn = new OleDbConnection( DB_STR );
2. OleDbDataAdapter
OleDbDataAdapter
komponen yang memiliki banyak fungsi, tidak hanya penyedia cara untuk
mengambil datadari database, tetapi juga digunakan untuk memasukkan,
update, dan menghapus data pada database. Komponen ini berfungsi juga
sebagai jembatan di antara database dan objek dataSet dan akan
mengambil data yang telah ditentukan, lalu akan mempopulate DataSet
Anda.
Contoh membuat
query dari kelas OleDataAdapter:
string
strSQL="SELECT * FROM 'namatable'i ";
OleDbDataAdapter
da = new OleDbDataAdapter(strSQL , conn );
3. DataSet
Komponen
DataSet berfungsi sebagai cache data yang disimpan di dalam memori.
Komponen DataSet powerful dan sebaiknya digunakan pada aplikasi yang
ingin Anda buat. DataSet tidak hanya menyimpan data yang diambil di
OleDbDataAdapter, tetapi juga menyimpan informasi tabel, misalnya
data yang diambil adalah nama kolom dan tipe datanya yang Anda kenal
dengan nama meta data. data disimpan di dalam dokumen XML.
Anda dapat melihat seluruh data secara maju dan mundur, juga
dapat mengupdate data karena DataSet Komponen menyimpan seluruh data
di dalam memori.
Contoh membuat dataset dari kelas DataSet :
DataSet ds=new DataSet();
Da.Fill(ds, “EmpTable”);
Ds.Tables[“EmpTable”].Rows.Count;//menghitung
jumlah baris
Contoh membinding data ke repeater pada saat halaman
di load :
<%@Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
string DB_STR { get { return
"Provider=Microsoft.Jet.OLEDB.4.0; Persist Security Info=False;
Data Source=" + Server.MapPath("namadatabase"); } }
void Page_Load(object sender,
EventArgs e)
{ //buat objek baru untuk koneksi
OleDbConnection conn = new OleDbConnection(
DB_STR );
//Pilih data dari table
string strSQL="SELECT * FROM 'namatable'
";
OleDbDataAdapter da = new OleDbDataAdapter(strSQL , conn );DataSet ds=new DataSet();
da.Fill(ds, "EmpTable");
Repeater1.DataSource =
ds.Tables["EmpTable"].DefaultView;
Repeater1.DataBind();
}
</script>
Connected Application
Object Connection:
Untuk Microsoft Access:
dbconn=New
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source="
+
server.mappath("file_access.mdb"))
Untuk Microsoft SQL Server:
dbconn=New OleDbConnection("Provider=SQLOLEDB;data
source=localhost; Initial Catalog=database_name;user
ID=user;Password=password")
Untuk Oracle:
dbconn=New OleDbConnection("Provider=MSDAORA;data
source=host_name; User ID=user;Password=password")
Opening and
Closing Connection
Opening
Sebuah
method yang digunakan untuk kontak dengan sumber data / database dan
untuk membuka koneksi
Closing
Sebuah
method yang digunakan untuk mematikan koneksi / mengakhiri koneksi.
Method Sql Command
ExecuteNonQuery
menjalankan data command tapi tidak
mengembalikan nilai. Biasanya memanggil perintah SQL atau stored
procedure yang berisi Insert, Update, Delete dan Get by ID.
ExecuteScalar
mengembalikan kolom pertama dari baris pertama dari data yang
dikembalikan oleh command.
Digunakan ketika ingin menampilkan satu nilai.
ExecuteReader
Digunakan ketika ingin menampilkan banyak nilai (multiple nilai).
- Sebuah transaksi dapat berisi lebih dari satu proses.
- Jika dalam transaksi terdapat lebih dari satu proses, maka untuk menyelesaikannya, semua proses harus berhasil dieksekusi dalam transaksi tersebut.
Sumber: