postGRESql dan .NET

Terimakasih untuk orang-orang di luar sana yang kerjaannya senang membuat library atau pustaka berbagai macam rupa, entah itu engine, connector dan driver, sungguh kalian semua orang-orang hebat.

Ketika dapat tugas SBD dimana instruksinya adalah implementasi skema dan penangan trigger sebisa mungkin dilakukan di level basis data maka terdapat kebutuhan membuat aplikasi untuk menjalankan query2 sample/ transaksi yang diwajibkan itu (meski baru tadi diketahui dari Jole, kalau beliau dulu demonya pake pgAdmin) agar terlihat dengan jelas hasil2 trigger dan atau function yang harus diimplementasikan.

Sesaat kemudian saya berpikir, dan memutuskan bahwa dicoba kan saja untuk membuat aplikasi nya berbasis .NET. Baca2 dikit, ternyata connector yang tersedia di .NET hanya untuk sql server dan oracle akan tetapi si .NET ini menyediakan ODBC (open database connector, semacam skema umum pembangunan koneksi agar independen terhadap database apapun). Tapik, ya itu tadi , terima kasih untuk orang2 yang senang koding2 gak jelas tp berguna membuat library2 macam seperti contohnya si Npgsql ini.

Sekarang, pengen share aja sekedar beberapa operasi dasar yang bisa dilakukan. Agar bisa digunakan dalam aplikasi, Npgsql nya di donlot dan .dll di add di bagian reference project .

tambahkan :

Using Npgsql;

//beberapa properti

NpgsqlConnection conn = new NpgsqlConnection();
NpgsqlCommand commandP = new NpgsqlCommand();

//connection stringnya, disesuaikan dengan default instalasi di masing2 kompie

string connString = “Server=127.0.0.1;Port=5432;User Id=postgres;Password=xxxxx;Database=postgres;”;

Membuka Koneksi :

public void openConn()
{
try {
conn.ConnectionString= connString;

conn.Open();

if (conn.State == ConnectionState.Open)
{
this.myStatusLabel.Text = conn.State.ToString();
}
}
catch (Exception e)
{
myStatusLabel.Text = e.Message;
}
}

//yak, bagian pentingnya adalah, object connection di set parameter connection stringnya, kemudian gunakan fungsi Open , dan Voila ,,, kita sudah terhubung.

//Untuk menutup koneksi tinggal panggil conn.Close() saja

Membangun query :

//untuk membangun query diperlukan setting parameter terhadap object NpgsqlCommand berupa query ( dalam sintaks SQL Standard dan parameter object connection yang akan digunakan oleh si object NpgsqlCommand

public void createCommand(string _query)
{
commandP.CommandText = _query;
commandP.Connection = conn;
}


Melakukan eksekusi query yang tidak mengembalikan tupple :

public bool insertCollection(string _query)
{
try
{
this.openConn();
createCommand(_query);
int rowAffected = commandP.ExecuteNonQuery();
if (rowAffected < 1)
{
myStatusLabel.Text = “Insertion is failed”;
return false;
}
else
{
myStatusLabel.Text = “Insertion is succesfull”;
return true;
}
}
catch (Exception e)
{
myStatusLabel.Text = e.Message;
return false;
}
finally
{
closeConn();
}
}

Membangun query yang mengembalikan tupple :

//bikin object ini buat menampung hasil pembacaan

NpgsqlDataReader dr = commandP.ExecuteReader();

while (dr.Read())
{

for (i = 0; i < dr.FieldCount; i++)
{
Console.Write(“{0} \t”, dr[i]);
}

}

Cukup simpel ternyata, sekarang tinggal menyesuaikan query yang ingin dieksekusi. Berhubung di level aplikasi kita ckup panggil query karena seluruh constraint di cek di level basis data maka aplikasi dengan bantuan si Npgsql itu dapat di bangun dengan cepat.

 

2 thoughts on “postGRESql dan .NET

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s