h1

Tutorial ADO.Net dengan C# – Bab 4 – Pembuatan Layer DataAccess

Agustus 30, 2008


<< Baca tutorial sebelumnya : Tutorial ADO.Net dengan C# – Bab 3 – Pembuatan Stored Procedure

Seperti yang sudah diterangkan sebelumnya Layer DataAccess ini akan berinteraksi langsung dengan DBMS
lewat pemanggilan Stored Procedure. Langkah2 pembuatannya adalah sebagai berikut :

Buat solution baru kasih nama DataDiri, nah didalam solusi yang baru ini sudah terdapat 1 project yang bernama sama yaitu project DataDiri. Yang ini ga usah di otak-atik dulu yaw….! Sabar-sabar nanti juga sampai ke situ ho ho ho.

Buat project baru dengan meng-klik kanan soution DataDiri kemudian pilih Add – New Project, pilih Class library, kasih nama DataDiri_DataAccess.Kemudian klik OK.

Ganti nama Class1.cs pada project DataDiri_DataAcess dengan nama DataAccess.cs

Masukkan kode2 berikut pada DataAccess.cs

using System;
using System.Collections.Generic;
using System.Text;

//tambahan direktif
using System.Data;
using System.Data.SqlClient;

namespace DataDiri_DataAccess
{
    public class DataAccess
    {
        private string strConn;
        private SqlConnection conn;

        //bikin konstruktor
        public DataAccess()
        {
            //string koneksinya
            //ganti kazetku dengan
            //nama komputer kamu
            strConn = @"Data Source=kazetku;
            Initial Catalog=dbDataDiri;
            Integrated Security=True"; 

            //bikin objek koneksi
            conn = new SqlConnection(strConn);
        }

        //method untuk menambah data baru
        public int InsertNewDataDiri
            (string _nama, string _alamat)
        {
            try
            {
                //buka koneksi
                conn.Open();

                //buat objek command/perintah
                //dari procedure InsertDataDiri
                SqlCommand cmd = new SqlCommand
                    ("InsertDataDiri",conn);

                //tipe perintah yang digunakan
                //adalah stored procedure
                cmd.CommandType =
                    CommandType.StoredProcedure;

                //membuat parameter baru
                cmd.Parameters.Add(new SqlParameter
                    ("@cNama",SqlDbType.VarChar));
                //masukkan nilai ke parameter
                cmd.Parameters["@cNama"].Value
                    = _nama;

                cmd.Parameters.Add
                    (new SqlParameter("@cAlamat",
                SqlDbType.VarChar));
                cmd.Parameters["@cAlamat"].Value
                    = _alamat;

                cmd.Parameters.Add(new SqlParameter
                    ("@cId",SqlDbType.Int, 0,
                    ParameterDirection.Output, false, 0,
                0, "cID", DataRowVersion.Default, null));

                //mode perintah berdasarkan
                //isian parameter
                cmd.UpdatedRowSource =
                UpdateRowSource.OutputParameters;

                //jalankan perintah tanpa mengambalikan data
                //hanya mengembalikan nomor baris yg diubah
                cmd.ExecuteNonQuery();

                //nilai yg dikembalikan
                return (int)cmd.Parameters["@cId"].Value;
            }
            catch (Exception)
            {
                //jika ada error kembalikan 0
                return 0;
            }
            finally
            {
                //ada atau tidak ada error
                //tutup koneksi
                conn.Close();
            }
        } 

        //method untuk mengupdate data lama
        public int UpdateDataDiri(int _id,
            string _nama, string _alamat)
        {
            try
            {
                conn.Open();

                SqlCommand cmd = new SqlCommand
                    ("UpdateDataDiri",conn);

                cmd.Parameters.Add(new
                    SqlParameter("@cNama",
                SqlDbType.VarChar));
                cmd.Parameters["@cNama"].Value
                    = _nama;

                cmd.Parameters.Add(new
                    SqlParameter("@cAlamat",
                SqlDbType.VarChar));
                cmd.Parameters["@cAlamat"].Value
                    = _alamat;

                cmd.Parameters.Add(new
                    SqlParameter("@cId",
                SqlDbType.Int));
                cmd.Parameters["@cId"].Value
                    = _id;

                return cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                return 0;
            }
            finally
            {
                conn.Close();
            }
        }

        //method untuk menghapud data
        public int DeleteDataDiri(int _id)
        {
            try
            {
                conn.Open();
                SqlCommand cmd = new
                    SqlCommand("DeleteDataDiri",conn);
                cmd.CommandType =
                    CommandType.StoredProcedure;
                cmd.Parameters.Add
                    (new SqlParameter("@cId",
                SqlDbType.Int));
                cmd.Parameters["@cId"].Value
                    = _id;
                return cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                return 0;
            }
            finally
            {
                conn.Close();
            }
        }

        //method untuk mengambil semua data
        public SqlDataReader GetAllDataDiri()
        {
            try
            {
                conn.Open();
                SqlCommand cmd = new
                    SqlCommand("GetAllDataDiri",conn);
                cmd.CommandType =
                    CommandType.StoredProcedure;
                SqlDataReader reader
                    = cmd.ExecuteReader();
                return reader;
            }
            catch (Exception)
            {
                return null;
            }
        }
    }
}

Jika semua kode program diatas sudah selesai kita ketikan, maka selanjutnya kita
coba build project tersebut. Untuk melakukan hal tersebut, caranya adalah dengan
mengklik kanan nama project pada solution explorer kemudian kita pilih menu build.
Jika hasil build ini sukses (tidak ada ERROR) maka program kita sudah benar secara
syntax, tapi jika hasil build tersebut belum sukses, maka kita perlu untuk memperbaiki
kesalahan syntax terlebih dahulu.

Nah sampai langkah ini kita sudah berhasil membuat layer DataAccess. Weewww mungkin masih berantakan banget codingnya… ho ho ho. Mungkin ada masukan atau pertanyaan silahkan posting dibawah…. thanks :)

Ngelmu dari : ilmukomputer.com + kitab msdn + blog2 yg bae2

bersambung ke : Tutorial ADO.Net dengan C# – Bab 5 – Pembuatan Layer BusinessLogic >>

Satu komentar

  1. Bang kenapa gak bikin file zip atau rarnya aja, biar bisa di donlot :)
    terus hasilnya dibikin screenshot, biar lebih ringkas dan abang nulisnya yang penting-penting aja.

    dah kerja or lagi kul ni bang?
    salam kenal,

    rinaldi rusli
    newbie in c#



Tinggalkan sebuah Komentar