Tuesday, November 06, 2012

Teknologi ADO.NET untuk Akses Data

Sebagian besar web merupakan aplikasi yang sangat intensif berhubungan dengan data atau database. Teknologi data sendiri mengalami perkembangan yang sangat pesat, dimana paradigma two-tier  dan connection-based dalam arsitektur client server bergerak menuju connectionless dan multitier, karena kompleksitas sistem, pengguna, dan kebutuhan bisnis. Hal di atas menjadi dasar dalam ADO.NET, teknologi pengaksesan data dalam .NET, khususnya ASP.NET. 

ADO.NET mempunyai arsitektur yang diilustrasikan sebagaimana diagram berikut ini:






Gb. Arsitektur ADO.NET

Arsitektur tersebut diimplementasikan dengan adanya Class2 seperti tabel di bawah:



Gb. Class-2 ADO.


Sesuai gambaran di atas, ADO.NET memberikan Class2 yang bersumber pada  dua kategori provider sumber data: OLE DB (untuk data-data selain SQL Server) dan SQLClient (untuk data SQL Server). 


Penggunaan Class yang ada, berdasarkan pada urutan mekanisme lazimnya pengaksesan data yaitu: 

1. Buka koneksi ke Server
2. Lakukan Operasi Data.
3. Tampilkan Data atau berikan status Operasi.
4. Tutup Koneksi.


Dasar Pengkodean

Sebelum menggunakan ADO.NET, dalam program harus dilakukan referensi sbb


untuk OleDb Driver
using System;
using System.Data;
using System.Data.OleDb;

Untuk Sql Server Driver
using System;
using System.Data;
using System.Data.SqlClient;


Kemudian membuka koneksi dengan memberikan data credential yang berkaitan dengan nama server, nama database, user id, dan password, yang dikenal sebagai ConnectionString. Metode membuat dan membuka koneksi ini bisa dilakukan dalam ruang lingkup Windows dengan pembuatan file UDL.



            string cstr = "" +
               ";Persist Security Info=False;User ID=sa; Password=Vaia2010;" +
               " Initial Catalog=DBAplikasi;Data Source=(local)\\mssql2008R2";

            SqlConnection cn = new SqlConnection(); //Instantiation;
            //SqlConnection cn = new SqlConnection(cstr);

            cn.ConnectionString = cstr;
            cn.Open();



Dan kemudian apabila koneksi berhasil dilakukan atau Open, dilakukan perintah pengambilan data yang diinginkan melalui instruksi sintaks SQL


        if (cn.State == ConnectionState.Open)
            {
                // Kalau koneksi berhasil;
                DataSet ds = new DataSet();
                
                string sql2 = " SELECT * from [MMahasiswa]";
                SqlCommand cm = new SqlCommand(sql2, cn);
                SqlDataAdapter da = new SqlDataAdapter(); 

                da.SelectCommand = cm;
                da.Fill(ds);

            }


Balikan data dari Server akan tersimpan dalam objek ds (dari class DataSet), yang bisa diproses lebih lanjut, baik ditampilkan atau keperluan lainnya.

















No comments: