CommandBuilder nesnesi Ado.Net mimarisi içerisinde bulunan ve veri tabanı işlemlerimizi kolaylaştırmak için Microsoft Tarafından Geliştirilmiş bir nesnedir.amacı tekil tablolarda otomatik sql sorguları üretmektir.CommandBuilder Çoklu yani Relation İçeren tablolarda Kullanılmaz.Bizim yerimize DataAdapter'a bağlı olduğu tablo bazında sql sorguları üretmek için kullanılır.Çok Fazla detaya girmeden hemen bir örnek verelim ;
yukarıdaki kodlamada ilk olarak CommandBuilder nesnesi yaratılıyor.Ardından CommandBuilder nesnesinin hangi dataAdapter nesnesini referans alacağını yani hangi dataAdapter'a bağlanacağını seçiyoruz.
daha sonra Adapter nesnemizin Delete,Update ve Insert Komutlarına CommandBuilder tarafından üretilen Sorgular Atanıyor.Ben bu örnekte DataSet kullandığım için Select Sorgusunu bağlamayı gerek görmedim.Dataset Kullanıyorsanız(ki tavsiye etmiyorum) zaten Fill Metoduyla DataAdapter Select Sorgusunu otomatik olarak generate Ediyor.
MySqlCommandBuilder builder = new MySqlCommandBuilder(); builder.DataAdapter = odaTableAdapter.Adapter; odaTableAdapter.Fill(oda_ds.oda); odaTableAdapter.Adapter.DeleteCommand = builder.GetDeleteCommand(); odaTableAdapter.Adapter.InsertCommand = builder.GetInsertCommand(); odaTableAdapter.Adapter.UpdateCommand = builder.GetUpdateCommand();
yukarıdaki kodlamada ilk olarak CommandBuilder nesnesi yaratılıyor.Ardından CommandBuilder nesnesinin hangi dataAdapter nesnesini referans alacağını yani hangi dataAdapter'a bağlanacağını seçiyoruz.
daha sonra Adapter nesnemizin Delete,Update ve Insert Komutlarına CommandBuilder tarafından üretilen Sorgular Atanıyor.Ben bu örnekte DataSet kullandığım için Select Sorgusunu bağlamayı gerek görmedim.Dataset Kullanıyorsanız(ki tavsiye etmiyorum) zaten Fill Metoduyla DataAdapter Select Sorgusunu otomatik olarak generate Ediyor.
Yorumlar
Yorum Gönder