Anasayfa » ADO.NET » ADO.NET & C#

ADO.NET & C#

6 Nisan 2010  |  Yazar: coders  |  Yorum Yok  |  58 kez okundu
Facebook'da Paylaş Twitter'da Paylas FriendFeed'de Paylaş ADO.NET & C#

Merhaba arkadaşlar bu yazımızda .net teknolojisinden bahsedeceğiz..

Ben konuyu daha çok bir örnek üzerinden anlatma taraftarıyım..O halde başlayalım..

Öncelikle kısaca konuyu anlamanız açısından ilk defa duyanlar için kavramını açıklayalım ve daha sonra konumuza devam edelim.

Ado.net microsoft tarafından geliştirilmiş olunan bir veritabanı kullanım teknolojisi olarak ifade edilebilir.Karıştırılmaması gereken nokta ise önceden varolan ADO kavramı ile alakasının olmamasıdır..ADO.NET in en büyük özelliği alışılagelmiş olunan şu mantıktı;

veritabanınız var ve siz bu veritabanından birşeyler sorgulamak istiyorsunuz bunun için bağlantı kuruyorsunuz,ADO.NET de ise bağlantısız veritabanı teknolojisi çok büyük kolaylıklar sağlıyor geliştiricilere.Dolayısıyla veritabanı gereksiz yere meşgul edilmiyor ve performans büyük ölçüde artırılıyor.Ayrıca xml verilerini çok rahat bir şekilde kullanmamızada imkan tanıyor ve dahası..

Bu kısa açıklamadan sonra konumuza devam edelim..

Resimdeki şekilde bir form oluşturabilirsiniz öncelikle..

Öncelikle veritabanına bağlanmak için connection_string oluşturuyoruz..

public static string connectionString = " provider=Microsoft.JET.OLEDB.4.0; +" data source="+Application.StartupPath+"adodb.mdb";

bu kısımda dikkat edilmesi gereken veritabanınızın bulunduğu dizin ile beraber tanımlamanız..

C:\adodb.mdb gibi..

Şimdi OleDataAdapter Nesnesini oluşturuyoruz..

string commandstring = "select * from TelefonNumarasi";

dataAdapter = new OleDbDataAdapter(commandstring,connectionString);

INSERT COMMAND

dataAdapter.InsertCommand=connection.CreateCommand();

dataAdapter.InsertCommand.CommandText=

"insert into TelefonNumarasi"+

"(Telefonnum,Isim)"+

"values"+

"(?,?)";

dataAdapter.InsertCommand.Parameters.Add("Telefonnum",OleDbType.Chart,0,"Telefonnum");

dataAdapter.InsertCommand.Parameters.Add("Isim",OleDbType.Char,0,"Isim");

Burada belirtmek istediğim şey şu ;

dataAdapter içerisinde tanımladığımız Telefonnum ve Isim parametreleri veritabanımızdaki TelefonNumarasi tablosundaki iki column’u ifade etmektedir..Sizde farklılık gösterebilir..

Güncellemek için kullanacağımız komut dizisi şu şekildedir..

// Güncelleme yapmak için kullanılan komutlarımız.

dataAdapter.UpdateCommand=connection.CreateCommand();

dataAdapter.UpdateCommand.CommandText="update TelefonNumarasi"+

"set Isim =?"+

"where Telefonnum=?";

dataAdapter.UpdateCommand.Parameters.Add("Isim",OleDbType.Char,0,"Isim");

dataAdapter.UpdateCommand.Parameters.Add("Telefonnum",OleDbType.Char,0,"Telefonnum");

// Silmek için kullanılan komutlarımız

dataAdapter.Deleteommand=connection.CreateCommand();

dataAdapter.DeleteCommand.CommandText=

"delete from TelefonNumarasi where Isim =?";

dataAdapter.DeleteCommand.Parameters.Add("Telefonnum",OleDbType.Char,0,"Telefonnum");

Data Set Sınıfımız

dataSet=new DataSet();

dataSet.CaseSensitive=true;

dataAdapter.Fill(dataSet,"Telefonnum");

Fill_lb();

Fil_lb Methodu

dataTable = dataSet.Tables[0];

listBox1.Items.Clear();

foreach (DataRow dataRow in dataTable.Rowa)

{

LoadBuffers(dataRow);

listBox1.Items.Add(Telefonnum+"tt\"+Isim);

}

Düzeltme işlemi yapmayı gösterelim..

// Satır seçiyoruz

DataRow selectedRow = dataTable.Rows[listBox1.SelectedIndex];

// kullanıcı bilgisi

Application.DoEvents();

// Satırda düzeltme işlemi yapıyoruz

selectedRow.BeginEdit();

selectedRow["Isim"] = txtIsim.Text.Trim();

selectedRow.EndEdit();

// Değiştirilmiş her satırı alıyoruz

DataSet dsChanges =

dataSet.GetChanges(DataRowState.Modified);

// Hatalarla beraber aynen değiştiriliyor..

bool okayFlag = true;

if (dsChanges.HasErrors)

{...}

//Hata yoktur mesajı

if (okayFlag)

{

// Veritabanı güncelleniyor

dataAdapter.Update(dsChanges,\\\\\\\\"TelefonNumarasi\\\\\\\\");

// Kullanıcıya bildiriyoruz bunu..

MessageBox.Show("Updated " + selectedRow["Telefonnum"]);

Application.DoEvents();

//Düzeltme yapıldı listboxu yeniliyoruz..

dataSet.AcceptChanges();

Fill_lb();

}

else // Hata varsa değişiklikleri iptal ediyoruz..

dataSet.RejectChanges();

Silme İşlemi

//Liste olarak seçilen satır getiriliyor..

DataRow selectedRow = dataTable.Rows[listBox1.SelectedIndex];

string msg = selectedRow["Telefonnum"] +" deleted.";

//Seçilen satır siliniyor

selectedRow.Delete();

// Veritabanından Siliniyor

try

{

dataAdapter.Update(dataSet,"Telefonnum");

dataSet.AcceptChanges();

//Listboxu yeniliyoruz..

Fill_lb();

// Kullanıcıya bildiriyoruz..

MessageBox.Show(msg);

Application.DoEvents();

}

catch (OleDbException ex)

{

dataSet.RejectChanges();

MessageBox.Show(ex.Message);

}

thecoders.net | Oguzz

Facebok'ta Paylaş

Benzer Yazılar

Etiketler: , , , , , , , , ,
avatar

Ahmet Ates

http://www.coders.gen.tr/ 25 yasindayim. Z.K.U Biyomedikal Cihaz Teknolojisi bölümünü okudum, Programlama dilleri arasindan ilgilendiğim ve profesyonel olarak hizmet verdiğim dil Fortran'dir. Web olarak Php,Css ve hazır sistemler olarak Wordpress ve Vbulletine hayranlık besliyorum.

Bu yazı hakkında birşeyler demek ister misiniz?

RSS üzerinden bu yazıya yapılan yorumları takip edin.

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir.

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Programlama