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

Software Gratis Toko Online berbasis PHP

Assalamu'alaikum Warahmatullahi Wabarakatuh Temen-temen, kali ini saya mau share tentang programming lagi nih tapi sebetulnya ini sudah lama dibahas oleh blogger lainnya. Jadi disini saya hanya ingin membuat catatan kecil di blog saya supaya tidak kesulitan jika nanti ada butuh. Untuk temen-temen yang ingin belajar dan memiliki toko online sendiri mungkin bisa coba software ini. Software ini gratis dan mudah pemakaiannya. Memang software ini tidak selengkap joomla, ecommerce ataupun CMS lainnya. Namun menurut saya sudah cukup jika temen-temen ingin memiliki toko online sederhana. Nama software ini adalah shop-script dari webasyst . Shop-Script merupakan software shopping cart berbasis PHP dan bisa di download gratis dari sini . Cara menginstall dan mengkonfigurasinya pun sangat mudah. Claim yang didapat dari websitenya shop-script ini, setup awal bisa dilakukan tidak sampai 15 menit saja. Shop-script ini juga sudah mendukung payment menggunakan paypal. Beberapa fi...

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...

Internet Indonesia Paling Lambat Se-Asia, Ini Kata Menkominfo

Didik Purwanto | Reza Wahyudi | Sabtu, 5 Mei 2012 | 08:02 WIB Ilustrasi JAKARTA, KOMPAS.com — Menteri Komunikasi dan Informatika Tifatul Sembiring angkat bicara soal hasil penelitian lembaga riset dari Amerika Serikat, Akamai, yang menyebut kecepatan internet di Indonesia dinilai paling lambat se-Asia. Menurutnya, penetapan kecepatan internet itu urusan operator, bukan pemerintah. "Saya terima tuduhan (hasil riset) itu. Tapi seharusnya itu urusan operator, kan mereka yang berjualan. Penetapan kecepatan internet itu bukan urusan pemerintah," kata Tifatul selepas melantik pengurus baru Badan Regulasi Telekomunikasi Indonesia (BRTI) di Gedung Kemenkominfo, Jakarta, Rabu (2/5/2012). Menurut Tifatul, meski bukan urusan pemerintah, Kemenkominfo tidak memiliki hak untuk memaksakan operator dalam menaikkan kecepatan internet di Tanah Air. Dengan demikian, hanya operator yang bisa menentukan kecepatan internet sekaligus tarifnya. Namun, Kemenkominfo berjanji untuk selal...