Veritabanından çektiğimiz Verileri Sayfada gösterebilmek için webformunuza bir DataGrid Nesnesi ekleyin. Bu nesne bildiğimiz dbgridin Net versiyonudur.
Bunun için 3 nesne daha kullanacağız. Bu nesneleri Çalışma Zamanında Oluşturacağız.
Bu işleme Geçmeden Önce Uses satırına SQL Server Hariç Bir Veritabanına Bağlanmak istiyorsanız “System.Data” Ve “System.Data.OleDb” Unit isimlerini eklemelisiniz. SQL Server Veritabanına Bağlanacaksanız “System.Data.OleDb” yerine “System.Data.SqlClient” unit ismini yazın.
Öncelikle accessa bağlanalım. Bunun için OleDbDataAdapter, OleDbConnection ve Dataset Bileşenleri Kullanıyoruz. Bu Bileşenlerin hepsini Çalışma Zamanında oluşturup kullanacağız. Ben Kullanacağımız OldbDataAdapter ve OleDbConnection Bileşenini Delphinin Component Paletinde göremiyorum acak daha öncede dediğim gibi .Net, .Net Framework kütüphanelerini kullanır. Sanırım Borland eklemeyi unutmuş

OleDb harfleriyle Başlayan bileşenler MS SQL Server dışındaki bütün veritabanlarına ulaşmak için oluşturulmuş bileşenlerdir. MS SQL Server içinse SQL harfleriyle başlayan bileşenler oluşturulmuştur. Ayrıca dikkat ettiyseniz Veritabanlarına Bağlanmak için Delphiye has Bağlantı Bileşenleri de Bulunmaktadır. Genellikle Bütün Bağlantı Tipleri Bir Birine benzer. Bu sebeple diğerlerini öğrenirken pek zorlanacağımızı sanmıyorum. Bugün Kabaca Veritabanına Bağlandıktan sonra ilerleyen günlerde Her bileşeni Mümkün Olduğu kadar detayına inerek inceleyeceğiz..
Yukarıda anlattığım işlemleri yaptıktan sonra bir buttonun OnClick olayına veya benim yaptığım gibi sayfanın “Page_Load” olayına yazın.
Kod: Tümünü seç
procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
var
MyConnect:oleDbConnection;
MyAdapter:oleDbDataAdapter;
MyDataset:DataSet;
begin
//Bağlantıyı oluştur
MyConnect:=oleDbConnection.Create;
MyConnect.ConnectionString:='Provider=microsoft.Jet.OLEDB.4.0;'+'data source='+Server.MapPath('/MyProc/Data.mdb');
//Tabloya bağlan
MyAdapter:=oleDbDataAdapter.Create('Select * From TBL_LISTE',MyConnect);
//Seçilen Tabloyu DataSete Aktar
MyDataset:=Dataset.Create;
MyAdapter.Fill(MyDataset,'TBL_LISTE');
DataGrid1.DataSource:=MyDataset.Tables['TBL_LISTE'];
DataGrid1.DataBind;
end;
Öncelikle oluşturacağımız Bileşenler için 3 değişken tanımlıyoruz. Procedure’nin ilk kodunda bir OledbConnection bileşeni oluşturuyoruz. Bu bileşenin yaptığı görev ADOConnection ile aynıdır.Firebirdçüler için örnek vermek gerekirse IBDataBase görevini görmektedir. Sonrasında bağlantıyı oluşturacak kodu yazıyoruz. Burada yabancısı olduğunuz kod
Kod: Tümünü seç
Server.MapPath();
Kod: Tümünü seç
ExtactFilePath
Kod: Tümünü seç
MyConnect:=oleDbConnection.Create('Provider=microsoft.Jet.OLEDB.4.0;'+'data source='+Server.MapPath('/MyProc/Data.mdb'));
Bu koddan sonra DataSet nesnemizi oluşturuyoruz. Dataset nesnesinin anlatımı çok uzun sürer bu sebeble kısaca özetleyip ileriki makalelerde ayrıntısıyla inceleyeceğiz.
DataSeti Bir Query+DataSorurce+Transaction Bileşenlerinin özelliklerini kapsayan bir nesne olarak düşünebilirsiniz. OleDbDataAdapterin seçtiği tabloyu DataSete aktarabilir Bunun tam tersi işlemide yapabilirsiniz.
Kod: Tümünü seç
MyAdapter.Fill(MyDataset,'TBL_LISTE');
Yukarıdaki kodlarda değiştirmeniz gereken
Kod: Tümünü seç
TBL_LISTE
Kod: Tümünü seç
Server.MapPath('/MyProc/Data.mdb')
Şimdide MS SQL Server a bağlanalım. Aralarında pek fark yoktur diyebilirim. Yukarıda belirttiğim unit adını ekleyip OleDb harfleri yerine Sql yazılması dışında tek fark ConnectionString özelliğine yapılan atamadadır.
Kod: Tümünü seç
procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
var
MyConnect:SqlConnection;
MyAdapter:SqlDataAdapter;
MyDataset:DataSet;
begin
//Bağlantıyı oluştur
MyConnect:=sQLConnection.Create('Server=localhost;Database=Fatih;uid=sa;pwd=;');
//Tabloya bağlan
MyAdapter:=SQLDataAdapter.Create('Select * From TBL_LISTE',MyConnect);
//Seçilen Tabloyu DataSete Aktar
MyDataset:=Dataset.Create;
MyAdapter.Fill(MyDataset,'TBL_LISTE');
DataGrid1.DataSource:=MyDataset.Tables['TBL_LISTE'];
DataGrid1.DataBind;
end;
Konuyla ilgisi olmayıp merak ettiğinizi düşündüğüm bir not düşmek istiyorum.
Bir sayfadan diğer sayfaya geçiş yapmak isterseniz aşağıdaki komutunu kullanmalısınız.
Kod: Tümünü seç
ReSponse.ReDirect(‘BenimSayfa.aspx’);