ASP.net: Akses Database Dengan Strong Typed Dataset di ASP.net

Ketika membangun aplikasi ASP.net, kita biasa berhubungan dengan database untuk menyimpan data. Menulis kode panjang lebar untuk mendapatkan dan memodifikasi data di database. Sebenarnya ASP.net menyediakan satu cara untuk membuat class yang berhubungan dengan akses database tanpa harus menulis kode sedikitpun. Semua class yang berhubungan dengan database dibuat lebih cepat tanpa menulis kode ADO.net sedikitpun karena semua kode akan terbentuk dengan sendirinya.

Di catatan kali ini, saya mencoba mencatat langkah-langkah membuat class dataadapter. Catatan saya ini dibuat menggunakan Visual Studio 2008, .NET framework 2.0 dan database Northwind menggunakan SQL server 2000. Langkah-langkah membuat DAL adalah sebagai berikut:

1. Buat website baru dan koneksi ke database Northwind.
Buat website baru (Create a new website) dan buat koneksi ke database Northwind di SQL server, Kita bisa melakukan koneksi di Server explorer.

2. Buat file dataset
Klik kanan pada projek dan pilih “Add New Item“, pilih “Dataset“. Beri nama Northwind.xsd. File ini secara otomatis akan ditempatkan di folder App_Code.

Hasilnya seperti berikut

3. Membuat tabel adapter
Untuk memperoleh data dari database dan disimpan di datatable, kita perlu membuat class table adapter. Karena itu untuk mengakses tabel Product dari database, kita buat TabelAdapter.
Pilih file Northwind.xsd. Pilih menu Data > Add > TableAdapter

Muncul window TableAdapter Configuration Wizard. Pertama buat data koneksi, koneksi string bisa disimpan di Web.Config agar lebih mudah jika ada modifikasi koneksi dengan mencentang “Yes, save the connection as:” di window berikutnya.

Di window Choose a command Type, pilih “Use SQL Statements“. Selain SQL query, command bisa dibuat dengan store procedure.

Masukkan query di window Enter SQL Statement. Tuliskan query untuk menampilkan semua kolom dari tabel Product.

Selain menuliskan query secara langsung, kita juga bisa membuat query dengan menekan tombol “Query Builder…”.

Setelah query di buat, sebelum menuju window berikutnya. Klik terlebih dahulu tombol “Advanced Options…”
Pilih pilihan pertama, dan non aktifkan pilihan kedua.

Setelah advanced option selesai, lanjutkan ke window berikutnya.

Ada tiga pilihan method yang bisa ditambahkan ke data adapter.

  • Fill a data table : method ini mengambil data tabel atau dataset sebagai parameter dan menghasilkan nilai integer. Saya belum tau bagaimana atau untuk apa method ini.😦
  • Return a datatable: method ini menghasilkan datatable berdasarkan query yang disetting sebelumnya.
  • Create method to send updates directly to the datatable: method ini untuk query Insert, Update dan Delete.

Kita bisa membuat satu atau semua method tersebut, dan kita bisa merubah nama method yang kita buat. Setelah selesai klik tombol Finish.
Sekarang telah terbentuk class Northwind dan class ProductDataAdapter.

4. Penerapan
Setelah kedua class objek data tersebut terbentuk, bagaimana cara menggunakannya? Berikut adalah contohnya

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Load
    Dim ProdukAdapter As New NorthwindTableAdapters.ProductsTableAdapter
    Dim produk As Northwind.ProductsDataTable

    produk = ProdukAdapter.GetProduct()

    For Each row As Northwind.ProductsRow In produk
        Response.Write("Produk: " & row.ProductName & "<br/>")
    Next
End Sub

Hasilnya adalah

Contoh berikut menampilkan tabel produk di gridview

Imports NorthwindTableAdapters

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Load
	Dim ProductAdapter As New ProductsTableAdapter
	GridView1.DataSource = ProductAdapter.GetProduct()
	GridView1.DataBind()
End Sub

Kita bisa menambahkan tabel-tabel lain selain Product dengan cara yang sama di langkah 3.
Method yang dibuat di catatan ini (GetProduct) adalah method tanpa parameter. Method ini menampilkan semua data dalam tabel tanpa adanya filter. Lalu bagaimana jika ingin menampilkan data tertentu saja? misal, menampilkan product berdasarkan kategori tertentu. Untuk method berparameter akan saya tulis di catatan berikutnya.

Semoga bermanfaat.
Salam

About Yuniar

Penulis sekarang lebih banyak bekerja menggunakan teknologi Microsoft .NET secara umum dan TIDAK lagi menggunakan aplikasi MapXtreme.net dari MapInfo. Karena itu mohon maaf, jika pertanyaan-pertanyaan mengenai MapXtreme sudah tidak bisa saya jawab lagi.

Posted on 25 Desember 2009, in ASP.net and tagged , , , , . Bookmark the permalink. 2 Komentar.

  1. good post😉 tapi yg sy tau kalo built-in dari vs.net agak susah di rubah2 ya ?
    selama ini sy pake cara manual (coding dari awal)

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: