Created
November 27, 2019 08:26
-
-
Save k4m4r82/68aa334073bfc145b217d465e220bde4 to your computer and use it in GitHub Desktop.
Contoh class MahasiswaRepository
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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