Skip to main content

Konfigurasi ConnectionStrings Saat Runtime C# Windows Applications

Assalamu'alaikum Warahmatullahi Wabarakatuh

Kali ini saya akan coba membahas mengenai bagaimana caranya merubah ConnectionStrings saat aplikasi yang kita buat running/berjalan. Kondisi ini saya temukan dari beberapa kasus membuat aplikasi "Client Server", yang dimana tentunya kita sebagai programer tidak ingin kerepotan ketika aplikasi ini akan digunakan oleh user bukan?

Biasanya ketika kita membuat suatu aplikasi akan menggunakan connectionString yang sifatnya static saja, entah itu dengan Class, Module atau dengan bantuan File XML dan lainnya. Kondisi seperti ini akan menyulitkan kita ketika aplikasi kita sudah di Compile dan kita kelupaan belum merubah ConnectionString nya. Untuk itu baiknya kita buat satu buah form yang menangani perubahan ConnectionStrings ini. Dalam tutorial kali ini saya akan mencoba menggunakan bahasa pemrograman C# Windows Application, kalaupun teman2 menggunakan VB.Net saya rasa tidak jauh berbeda.

I. Tahap Pembuatan Aplikasi
Pertama : Kita buat sebuah project terlebih dahulu jangan lupa pilih C# dan pilih Windows Applications ya.... jangan sampai salah pilih nanti gak nyambung dengan pembahasan disini.

Kedua : Setelah project terbuat, biasanya kita langsung disuguhkan dengan satu buah Form, mari kita edit Form tersebut, untuk properties terserah teman2. Tapi untuk design saya buat seperti ini :

  
Ketiga : Tambahkan beberapa library ini kedalam Form kita diatas.
using System.Data.SqlClient;
using System.Xml;
using System.Configuration;
Keempat :  Klik dua kali pada tombol konek, didalam properties form saya button dinamakan "btnConnect". Kemudian ketikkan koding berikut ini pada event click di button tersebut.
try
            {
                //Input koneksi string dari textbox
                StringBuilder Con = new StringBuilder("Data Source=");
                Con.Append(txtServerName.Text);
                Con.Append(";Initial Catalog=");
                Con.Append(txtDatabase.Text);
                Con.Append(";Integrated Security=SSPI;");

                string strCon = Con.ToString();
                updateConfigFile(strCon);

                //Buat koneksi SQL baru
                SqlConnection dbCon = new SqlConnection();
                ConfigurationManager.RefreshSection("connectionStrings");
                dbCon.ConnectionString = ConfigurationManager.ConnectionStrings["con"].ToString();
                dbCon.Open();
                //Cek koneksi berhasil atau tidak
                SqlDataAdapter da = new SqlDataAdapter("select * from Products", dbCon);

                DataTable dt = new DataTable();
                da.Fill(dt);
                cboTable.DataSource = dt;
                cboTable.DisplayMember = "ProductID";
            }
            catch (Exception eX)
            {
                MessageBox.Show(ConfigurationManager.ConnectionStrings["con"].ToString() + ".This is invalid connection", "Incorect Server/Database");
            }

Notes: 
  • Products adalah nama tabel dari database yang akan kita tampilkan, ProductID adalah nama kolom dari tabel tersebut.
  • Penulis menggunakan database Northwind sebagai sasaran dalam percobaan ini.

Kelima : Buatlah sebuah fungsi seperti berikut yang fungsinya untuk menuliskan connectionStrings kedalam File XML. Kalau kita perhatikan pada Solution Explorer disamping lembar kerja kita akan ditemukan file dengan nama App.Config

public void updateConfigFile(string con) {
            //update config file nya dari sini
            XmlDocument XmlDoc = new XmlDocument();
            XmlDoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
            foreach(XmlElement xElement in XmlDoc.DocumentElement){
                if (xElement.Name == "connectionStrings") {
                    //setting string koneksinya
                    xElement.FirstChild.Attributes[2].Value = con;
                }
            }
            XmlDoc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
        }
Notes :
  • Letakkan saja fungsi tersebut dibawah event click milik tombol konek.
Keenam : Kita buka File App.Config tersebut dahulu dan tambahkan string berikut ini :

Perhatikan cara penulisannya dengan benar ya, ....

II. Tahap Testing Aplikasi
Jalankan aplikasi kita dengan klik Start / F5 pada keyboard komputer kita.Jika nama server dan database benar ada di server kita maka comboBox akan menampilkan data dari tabel Products dengan kolom ProductID seperti berikut.


Jika terjadi kondisi yang sebaliknya dari kondisi diatas maka aplikasi akan menampilkan pesan kesalahan seperti ini.
Demikian tutorial kali ini, semoga bermanfaat untuk teman2 semua.

Wassalamu'alaikum Warahmatullahi Wabarakatuh

Comments

Popular posts from this blog

Download Crystal Report For Visual Studio 2013

A ssalamu'alaikum ...... Mengawali hari pertama berpuasa di bulan ramadhan, saya ingin berbagi sedikit cerita kepada teman- teman pembaca setia blog saya. Cerita ini bermula dari saya yang mencoba untuk menggunakan VS2013 dan seperti yang diketahui banyak programmer bahwa VS2010-2013 sudah tidak include Crystal Report seperti pendahulunya , alhasil saya pun kerepotan karena tidak bisa design report di VS2013 ini. Sebelumnya saya menggunakan VS2010 dan dapat Crystal Report untuk VS2010 dengan download executable file nya dahulu kemudian install dan beres semua. Namun, sayang nya di VS2013 tidak berjalan mulus seperti di VS2010 . Tapi Alhamdulillah setelah berselancar cukup lama (lebay dikit lah), ketemu juga salah satu blog yang cukup terkenal milik Mas Pandjie dari blog tersebut saya download executable file untuk VS2013 tapi entah kenapa setelah selesai di install belum ada perubahan pada VS2013 saya. Saya pun kembali berselancar dan Alhamdulillah ketemu juga. Bagi temen-tem

Program Sederhana Enkripsi dan Dekripsi Dengan VB.NET 2008

Assalamu'alaikum...... Marhaban ya Ramadhan, puasa hari ini sudah memasuki hari ke-4, Alhamdulillah...... sejauh ini masih lancar jaya. Sehabis saur pagi ini saya jadi kangen sama blog saya ini, mau nulis2 di blog....tapi bingung mau nulis apaan. Hemb......tiba2 aja saya teringat dengan materi kuliah "Keamanan Komputer" yang ngebahas masalah kriptografi, tapi saya tidak akan membahasnya disini. N ah hlo....terus apa dong yang mau dibahas di sini? Hemb.....sesuai judul tulisan saya kali ini, saya mau mencoba membuat program Enkripsi & Dekripsi dengan Visual Basic NET 2008, kali aja banyak diantara kalian yang lagi butuh kodingan ini. Yup langsung saja ke TKP. Pertama , kita desain dulu form aplikasinya, sebagai contoh bisa di lihat pada gambar dibawah ini : Gbr 1 Sumber Koleksi Pribadi  Properti yang saya setting pada form diatas adalah Label1 : Ganti properti TEXT dengan Password Label2 : Ganti properti TEXT dengan Enkripsi Label3 : Ganti properti TEXT

Mensimulasikan Router Juniper Dengan GNS3 dan VirtualBox

Assalamu'alaikum Warahmatullahi Wabarakatuh Juniper Networks adalah salah satu dari perusahaan produsen router di dunia seperti Cisco, Mikrotik dan Alcatel. Juniper sendiri mempunyai produk yaitu switch, router dan perangkat security seperti firewall. Juniper biasanya digunakan dibagian core network. Karena juniper sudah terbukti dan terkenal kehandalannya dalam jaringan telekomunikasi. Sesuai dengan judul artikel ini, kali ini saya akan mencontohkan bagaimana supaya kita bisa mensimulasikan Juniper dengan bantuan GNS3 dan VirtualBox. Sebelum memulai, baiknya kita persiapkan terlebih dahulu semua tool yang dibutuhkan, berikut saya berikan link untuk download file-file yang perlu kalian persiapkan. Juniper JunOS Olive12.1R1.9 unduh disini . GNS3 unduh disini . VirtualBox unduh disini . Setelah semua sudah siap, dan tentunya GNS3 dan VirtualBox sudah terinstall di komputer kita ya, langkah selanjutnya bisa kita lihat di capture berikut. Buka VirtualBox, lalu masu