Blog Single

Merhabalar sizlere bu makalemde, staj dönemimde yaptığım bir çalışma olan C# ile Kod Bankası yapımını anlatmaya çalışacağım, yararlı olması dileğiyle.

Peki, Kod Bankası nedir ?

  • Kod Bankası, kod parçacıkları, işinize yarayabilecek kodlar, unuttuğunuz ve hızlıca bakabileceğiniz konular, ip uçları, hatalar ve çözüm yöntemleri gibi konuları kategorili bir şekilde sınıflandırabileceğiniz, arama yapabileceğiniz, konu ekleyebileceğiniz, silebileceğiniz, güncelleyebileceğiniz yada kategori eklemesi yapabileceğiniz hızlıca her yerde kullanabileceğiniz ve taşıması tamamen kolay yardımcı bir uygulamadır.
  • Kod Bankası Uygulaması işlevi itibatiyle hızlı olması gerekmektedir. Kod Bankası Uygulaması hızlıca indirilebilir, kurulum gerektirmeyen yada fazla boyut kaplamayacak şekilde olacak biçimde tasarlanmış olması gerekiyor ki, örneğin bir USB Bellek ile de rahatça taşınabilsin.
  • Bu işlevleri de düşündüğümüzde Kod Bankası uygulaması, sıkıştırılmış veritabanı dosyası, Access veritabanı dosyası, SQLite veritabanı gibi hızlıca erişebileceğiniz ve ek bir yazılımın kurulumunu gerektirmeyen veri saklama ortamları ve internet bağlantısı gerektirmeyen bir uygulama olması en işlevli özelliğidir.
  • Kod Bankası Uygulaması yapısı itibariyle harici veritabanı dosyaları ile çalıştığından, kendiniz tamamen konuları ekleyebildiğiniz gibi, belirli boyutta hali hazırda konuları eklenmiş bir veritabanı dosyası ile değiştirilerek de kullanabilirsiniz.

Kodlara geçecek olursak;

Veritabanı bağlantı cümlesi için;

OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Codebank_db.accdb");

Form Load olayı için; (Bağlantıyı sağlamak ve programın açılışı sırasında veri listelemek için)

 try
            {   
                conn.Open();
                string query = "Select CategoryId,CategoryName from Category";
                OleDbDataAdapter da = new OleDbDataAdapter(query, conn);
                DataTable dt = new DataTable();
                da.Fill(dt);
                comboBox1.DataSource = dt;
                comboBox1.DisplayMember = "CategoryName"; // to display roll no. in combobox
                comboBox1.ValueMember = "CategoryId"; // to store name as value of combobox for selected
                string query2 = "Select ContentId,ContentTitle from Contents";
                OleDbDataAdapter da2 = new OleDbDataAdapter(query2, conn);
                DataTable dt2 = new DataTable();
                da2.Fill(dt2);
                listBox1.DataSource = dt2;
                listBox1.DisplayMember = "ContentTitle"; // to display roll no. in combobox
                listBox1.ValueMember = "ContentId"; // to store name as value of combobox for 
                conn.Close();
            }
            catch (Exception ex){}

Combobox select index changed olayı; (Kategori seçmek için)

 try
            {
                conn.Open();
                string query = "Select * from Contents where CategoryId =" + comboBox1.SelectedValue;
                OleDbDataAdapter da = new OleDbDataAdapter(query, conn);

                DataTable dt = new DataTable();
                da.Fill(dt);
                listBox1.DataSource = dt;
                listBox1.DisplayMember = "ContentTitle"; // to display roll no. in combobox
                listBox1.ValueMember = "ContentId"; // to store name as value of combobox for selected 
                conn.Close();
                txtCurrentContent.Clear();

            }
            catch (Exception ex){}   

Listbox select index changed olayı; (Konuları listelemek için)

try{
                conn.Open();
                string query = "Select * from Contents where ContentId =" + listBox1.SelectedValue;
                OleDbDataAdapter da = new OleDbDataAdapter(query, conn);

                DataTable dt = new DataTable();
                da.Fill(dt);
                txtCurrentContent.Text = dt.Rows[0][3].ToString();
                this.Text = dt.Rows[0][2].ToString() + " | " +"CodeBank";
                currentid = Convert.ToInt32(dt.Rows[0][0].ToString());
                conn.Close();

            }catch (Exception ex){}

Güncelle butonu için;

try{
                OleDbCommand cmd = new OleDbCommand();
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "UPDATE Contents SET Content = @content WHERE [ContentId] = @id";
                cmd.Parameters.AddWithValue("@content", txtCurrentContent.Text);
                cmd.Parameters.AddWithValue("@id", currentid);
                cmd.Connection = conn;
                conn.Open();
                cmd.ExecuteNonQuery();
                {
                    MessageBox.Show("Update Success!");
                    conn.Close();
                }


            }catch (Exception ex) { }

Konu silme butonu için;

conn.Open();
            string sql = "Delete from Contents where ContentId = " + currentid;
            OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
            da.DeleteCommand = conn.CreateCommand();
            da.DeleteCommand.CommandText = sql;
            int rows = da.DeleteCommand.ExecuteNonQuery();
            if (rows > 0)
            {
                MessageBox.Show("Konu başarıyla silindi !");
            }
            conn.Close();

Kategori ekleme formu olan form2'ye geçmek için;

Form2 frm = new Form2();
            frm.Show();
            this.Hide();

Form2'nin konu ekleme butonu için;

            try
            {

                OleDbConnection myCon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Codebank_db.accdb");
                OleDbCommand cmd = new OleDbCommand();
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "insert into Category ([CategoryName]) values ('" + textBox1.Text + "')";
                cmd.Connection = myCon;
                myCon.Open();
                cmd.ExecuteNonQuery();
                System.Windows.Forms.MessageBox.Show("An Item has been successfully added", "Caption", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
                myCon.Close();


            }
            catch (Exception ex) { }

 

Kaynak kodları indirmek için;

Buraya tıklayın

Rar şifresi;

serifgungor.com

Bu makaleyi paylaşın:
İstanbul'da yaşıyorum.Web üzerinde Frontend/Backend Geliştirmenin yanı sıra, Android Geliştirme, PHP/ASP.NET, C# Yazılım Uzmanlığı ve Java konuları işliyorum. Kod Şiirdir, onları seviyorum.

Bir yorum bırakın