Skip to content

Instantly share code, notes, and snippets.

@k4m4r82
Created November 27, 2019 08:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save k4m4r82/68aa334073bfc145b217d465e220bde4 to your computer and use it in GitHub Desktop.
Save k4m4r82/68aa334073bfc145b217d465e220bde4 to your computer and use it in GitHub Desktop.
Contoh class MahasiswaRepository
using System;
using System.Collections.Generic;
using System.Data.OleDb;
using PerpustakaanAppMVC.Model.Entity;
using PerpustakaanAppMVC.Model.Context;
namespace PerpustakaanAppMVC.Model.Repository
{
public class MahasiswaRepository
{
// deklarsi objek connection
private OleDbConnection _conn;
// constructor
public MahasiswaRepository(DbContext context)
{
// inisialisasi objek connection
_conn = context.Conn;
}
public int Create(Mahasiswa obj)
{
int result = 0;
// deklarasi perintah SQL
string sql = @"insert into mahasiswa (npm, nama, angkatan)
values (@npm, @nama, @angkatan)";
// membuat objek command menggunakan blok using
using (OleDbCommand cmd = new OleDbCommand(sql, _conn))
{
// mendaftarkan parameter dan mengeset nilainya
cmd.Parameters.AddWithValue("@npm", obj.Npm);
cmd.Parameters.AddWithValue("@nama", obj.Nama);
cmd.Parameters.AddWithValue("@angkatan", obj.Angkatan);
try
{
// jalankan perintah INSERT dan tampung hasilnya ke dalam variabel result
result = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
System.Diagnostics.Debug.Print("Create error: {0}", ex.Message);
}
}
return result;
}
public int Update(Mahasiswa obj)
{
int result = 0;
// deklarasi perintah SQL
string sql = @"update mahasiswa set nama = @nama, angkatan = @angkatan
where npm = @npm";
// membuat objek command menggunakan blok using
using (OleDbCommand cmd = new OleDbCommand(sql, _conn))
{
// mendaftarkan parameter dan mengeset nilainya
cmd.Parameters.AddWithValue("@nama", obj.Nama);
cmd.Parameters.AddWithValue("@angkatan", obj.Angkatan);
cmd.Parameters.AddWithValue("@npm", obj.Npm);
try
{
// jalankan perintah UPDATE dan tampung hasilnya ke dalam variabel result
result = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
System.Diagnostics.Debug.Print("Update error: {0}", ex.Message);
}
}
return result;
}
public int Delete(Mahasiswa obj)
{
int result = 0;
// deklarasi perintah SQL
string sql = @"delete from mahasiswa
where npm = @npm";
// membuat objek command menggunakan blok using
using (OleDbCommand cmd = new OleDbCommand(sql, _conn))
{
// mendaftarkan parameter dan mengeset nilainya
cmd.Parameters.AddWithValue("@npm", obj.Npm);
try
{
// jalankan perintah DELETE dan tampung hasilnya ke dalam variabel result
result = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
System.Diagnostics.Debug.Print("Delete error: {0}", ex.Message);
}
}
return result;
}
public List<Mahasiswa> ReadAll()
{
// membuat objek collection untuk menampung objek mahasiswa
List<Mahasiswa> list = new List<Mahasiswa>();
try
{
// deklarasi perintah SQL
string sql = @"select npm, nama, angkatan
from mahasiswa
order by nama";
// membuat objek command menggunakan blok using
using (OleDbCommand cmd = new OleDbCommand(sql, _conn))
{
// membuat objek dtr (data reader) untuk menampung result set (hasil perintah SELECT)
using (OleDbDataReader dtr = cmd.ExecuteReader())
{
// panggil method Read untuk mendapatkan baris dari result set
while (dtr.Read())
{
// proses konversi dari row result set ke object
Mahasiswa mhs = new Mahasiswa();
mhs.Npm = dtr["npm"].ToString();
mhs.Nama = dtr["nama"].ToString();
mhs.Angkatan = dtr["angkatan"].ToString();
// tambahkan objek mahasiswa ke dalam collection
list.Add(mhs);
}
}
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.Print("ReadAll error: {0}", ex.Message);
}
return list;
}
// Method untuk menampilkan data mahasiwa berdasarkan pencarian nama
public List<Mahasiswa> ReadByNama(string nama)
{
// membuat objek collection untuk menampung objek mahasiswa
List<Mahasiswa> list = new List<Mahasiswa>();
try
{
// deklarasi perintah SQL
string sql = @"select npm, nama, angkatan
from mahasiswa
where nama like @nama
order by nama";
// membuat objek command menggunakan blok using
using (OleDbCommand cmd = new OleDbCommand(sql, _conn))
{
// mendaftarkan parameter dan mengeset nilainya
cmd.Parameters.AddWithValue("@nama", "%" + nama + "%");
// membuat objek dtr (data reader) untuk menampung result set (hasil perintah SELECT)
using (OleDbDataReader dtr = cmd.ExecuteReader())
{
// panggil method Read untuk mendapatkan baris dari result set
while (dtr.Read())
{
// proses konversi dari row result set ke object
Mahasiswa mhs = new Mahasiswa();
mhs.Npm = dtr["npm"].ToString();
mhs.Nama = dtr["nama"].ToString();
mhs.Angkatan = dtr["angkatan"].ToString();
// tambahkan objek mahasiswa ke dalam collection
list.Add(mhs);
}
}
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.Print("ReadByNama error: {0}", ex.Message);
}
return list;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment