C# veritabanı bağlantıları etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
C# veritabanı bağlantıları etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

25 Şubat 2014 Salı

Veritabanı Ders Uygulamaları - 5

Update işlemine örnek oluşturacak olan bir çalışma yapacağız... Aşağıdaki form tasarımını gerçekleştiriniz... Text kutularının groupbox içerisinde olmasına özen gösteriniz... 

















Yine aynı şekilde aşağıdaki veritabanı tasarımını gerçekleştiriniz... Bu işlemi yaparken Kimlik değerini otomatik sayı olarak tanımlamayı unutmayınız... 













Çalışma sırasında tablodan seçmiş olduğumuz ürün bilgileri textlerde gösterilecek ve üzerinde değişiklik yapıldıktan sonra ürün düzenle butonuna basıldığı anda update komutu ile güncelleme yapılacaktır... 

1 - Veritabanı temel bağlantılarını ve da, ds değişkenlerini tanımlayınız...

2 - Aşağıdaki değişkenleri Global olarak tanımlayınız... 
        int kimliktasi = 0;            // Datagridview de seçili olan ürünün kimlik numarası...
      string urunad = "";         // Ürün bilgilerinin yedeğini almak için bu değişkenleri tanımladık... 
        string urunalt = "";
        string urunozellik = "";

3 - Datagridviewi dolduracağımız metodu aşağıdaki gibi hazırlayınız... 
void doldurdatagridview1()
        {
            ds.Clear();
            baglanti.Open();
            komut.CommandText = "Select * From yeniurun Order By [Adı]";
            komut.Connection = baglanti;

            da = new OleDbDataAdapter(komut);
            da.Fill(ds, "Tablo");
            dataGridView1.DataSource = ds;
            dataGridView1.DataMember = "Tablo";
            dataGridView1.Columns["Kimlik"].Visible = false; 
            baglanti.Close();
        }

4 - Veritabanında update işlemi yapacağımız metodu aşağıdaki gibi oluşturunuz...
void guncelleveritabanı(string sorgu)
        {
// Buradaki komutları siz doldurunuz... 
        }

5 - Güncelleme işlemleri sırasında ürünün daha önceki bilgileri ile aynı girilmesini engellemek için değerlerini değişkenlere alacağımızı söylemiştik... Bir metod ile datagridview de seçili olan ürünün bilgilerini urunad, urunalt ve urunozellik isimli değişkenlere alıyoruz... Bu işlem için aşağıdaki metodu kullanıyoruz...
void getir(string sorgu)
        {
            // Bağlantı ile ilgili giriş komutlarını doldurunuz...
            while (oku.Read())
            {
                    textBox1.Text = oku["Adı"].ToString();
                    textBox2.Text = oku["Tanım"].ToString();
                    textBox3.Text = oku["Özellik"].ToString();
                    urunad = textBox1.Text; urunalt = textBox2.Text; urunozellik = textBox3.Text;
            }
            // Bağlantı ile ilgili çıkış komutlarını doldurunuz... 
        }

7 - Form giriş olayında groupbox ı pasif duruma getiriniz... Bu sayede veri düzenleme işlemi yapılmasını engelleyelim... Aynı zamanda datagridview e bilgileri doldurunuz... 

8 - Datagridview in aşağıdaki olayını etkinleştiriniz...
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)

9 - Bu olayın içerisinde groupbox ı aktif hale getiriniz... Aynı zamanda aşağıdaki satırlar ile hem kimlik numarasını alalım, hem de kimlik numarasına ait olan verileri değişkenlerimiz de saklayalım...
kimliktasi = int.Parse(ds.Tables["Tablo"].Rows[e.RowIndex]["Kimlik"].ToString());
// Burada getir metodu ile kimliktasi değerine göre sorgulama yaptırınız...

10 - En son olarak ürün düzenle butonun içerisine yazılacak olanlara bakalım... Öncelikle veri düzenleme yapmadan hem textlerin içerisinin dolu olduğunu hemde düzenleme yapılmadan geçilmemesi gerektiğini aşağıdaki gibi bir if ile yapalım... 
if (textBox1.Text == "" || textBox1.Text == urunad)
  MessageBox.Show("Yeni ürün adı giriniz...");
else if // Devamını siz doldurunuz...

11 - Bütün şart kontrolleri yapıldıktan sonra her hangi bir aksilik yok ise veritabanında güncellemeyi yapınız...
guncelleveritabanı("Update yeniurun Set [Adı]= '" + textBox1.Text.ToUpper() + "', [Tanım]= '" + textBox2.Text.ToUpper() + "',[Özellik]= '" + textBox3.Text.ToUpper() + "' Where [Kimlik]=" + kimliktasi); 

12 - Datagridview i yine bu buton içerisinde doldurunuz...

13 - groupboxı pasif hale getirerek ve textlerin içeriğini temizleyerek programı bitiriniz... 

14 Aralık 2013 Cumartesi

Veritabanı - 11... Veritabanından Combobox a Bilgi Almak...

Access veri tabanında kayıtlı olan verilerimizden bazılarını Combobox a ekleyebiliriz... Yapmak istediğimiz uygulamada Access de bulunan sütunlardan bir tanesini tamamen Comboboxa ekleyeceğiz... Aynı zamanda Comboboxdan seçim yapıldığında da Richtextboxa seçime göre diğer sütundaki bilgilerin gelmesini sağlayacağız...  

Access veritabanını aşağıdaki gibi oluşturun... Tablomuzun ismi Yeniurun olacaktır... Veritabanı adımız ise Bilsay olacaktır... 


Aşağıdaki formu oluşturunuz... Formda bir tane Combobox, bir tane Richtextbox olacaktır... 

Kodlarımıza Form_Load olayından başlayacağız... Bu sayede form açıldığında Comboboxa veriler eklenmiş olacaktır... Bu işlemleri yaparken hem comboboxa verilerin çağrılması kısmında hemde richtextboxa verilerin çağrılması kısmında benzer işlemleri kullanacağımız için metod yöntemi ile bilgileri alacağız... 

Program çalıştığı zaman aşağıdaki gibi olacaktır... Comboboxa veritabanındaki bilgiler gelecektir... Comboboxdan seçim yapıldığında ise Richtextboxa bilgiler gelecektir...

Programımızın kodları aşağıdaki gibidir;

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;

namespace WindowsFormsApplication6
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
         OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=bilsay.accdb");
        OleDbCommand komut = new OleDbCommand();

        void veritabanisorgu(int gelenindex, string sorgu) // Metodumuz...
        {
            baglanti.Open();
            komut.CommandText = sorgu;
            komut.Connection = baglanti;

            OleDbDataReader oku = komut.ExecuteReader(); //Aldığımız bilgilerimizi depomuza atıyoruz...

            if (gelenindex==0) // Combobox için 0, Richtextbox için 1 değerini gönderiyoruz... 
            {
                while (oku.Read()) //Comboboxa verileri ekliyor...
                    comboBox1.Items.Add(oku[0].ToString());
            }
            else if (gelenindex==1) // Richtextbox için çalışacak kısım... 
            {
                while (oku.Read()) // Richtextbox a verileri ekliyor... 
                   richTextBox1.Text= oku[1].ToString();
            }
            oku.Close();
            baglanti.Close(); 
        }
        private void Form1_Load(object sender, EventArgs e) // Formun hemen girişinde comboboxa verileri ekliyoruz...
        {  // Metoda gönderirken sorgu ile birlikte bir de sütun numarasını gönderiyoruz... 
            veritabanisorgu(0,"SELECT * FROM Yeniurun");
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        { // comboboxdan seçim yapıldıktan sonra sorguyu gönderiyoruz... 
            veritabanisorgu(1,"SELECT * FROM Yeniurun Where [Adı]='" + comboBox1.Text + "'"); 
        }
    }
}