ben

OMÜ , Bilgisayar Mühendisliği, 13'

15 Ocak 2013 Salı

c# Oracle Bağlantısı

C# üzerinden Oracle da olusturduğumuz veri tabanına bağlanarak sorgularımızı çalıstırmak için bazı komutları kullanırız.Sorgularımızın geri döndürdüğü parametrelere gore de komutlarımız değişmketedir.

ilk öncelikle Connection Stringimizi tanımlamamzı gerekiyor. Daha once connection stringı nasıl bulacağımızı bu yazımızda anlatmıştık.

public OracleConnection cnn = new OracleConnection(@" Connection String Cümlesi buraya yazılacak");

Select sorguları

Eğer Select sorgusuyla bir değer döndüreceksek örnegın sadece müsteri tablomuzdaki musterinin adını döndüreceksek;

OracleCommand mus = new OracleCommand("select Musteri_Ad FROM TBL_MUSTERI", cnn);
OracleDataReader m_ad = mus.ExecuteReader();
while (m_ad.Read()) { comboBox1.Items.Add(m_ad[0].ToString()); }
m_ad.Close();

Burada m_ad nesnesinin içersinde veritabanımızdan gelen musterilerin isimleri yer almakta. Bu bilgilere ulasabilmek için Read() ile okumamız gerekıyor. Eğer sorgu sonunda sadece bır tek deger varsa textBox'a Read ile atama yapabiliriz. Burada Liste olarak geldiği için While döngüsüyle combobax nesnesıne değerleri yazdırdık.

Eğer sorgu sonucunda birden fazla alan varsa yada tablo seklınde tum alanları getiriyorsak aşağıdakı komutları kullanırız.

OracleDataAdapter data = new OracleDataAdapter("SELECT * FROM TBL_MUSTERI WHERE MUS_ID =" + id, cnn);
DataTable dt = new DataTable();
data.Fill(dt);
dataGridView1.DataSource = dt;

Burada musteri tablosunun tamamını cekip dataGridView1 nesnesinin DataSource' una attık.

Delete, Insert ve Update Sorguları

OracleCommand set = new OracleCommand("delete from TBL_MUSTERI WHERE MUS_ID=" +id +" , cnn);
set.ExecuteNonQuery();

OracleCommand ekle = new OracleCommand("insert into TBL_MUSTERI(MUS_ADI) VALUES('" + textBox5.Text + "') ", cnn);
ekle.ExecuteNonQuery();

OracleCommand guncelle = new OracleCommand("update TBL_MUSTERI set MUS_ADI='esra' WHERE MUS_ID='" + m_id + "'", cnn);
guncelle.ExecuteNonQuery();

Bu üç sorgu çeşidinde de sorgularımızın çalısması için OracleCommand ile tanımladığımız sorguyu ExecuteNonQuery ile çalıstırmamız gerekir.

Hiç yorum yok: