OleDbDataAdapter Sınıfı
Merhaba arkadaşlar. Bu makalemizde OleDbDataAdapter sınıfını inceleyeceğiz. Genel olarak DataAdapter sınıfları, veri kaynakları ile, sistem belleği üzerinde yer alan bağlantısız sistem katmanları veri alışverişinin kolay, güçlü ve verimli bir şekilde sağlanmasından sorumludur.
DataAdapter sınıfları, veri kaynaklarından verilerin alınıp, bağlantısız katman nesneleri olan DataSet, DataTable nesnelerine doldurmasından sorumlu olduğu,ayrıca DataSet ve DataTable ın taşıdığı verilerdeki değişikliklerden ve bunun veri kaynağına yansıtılmasından sorumlu olduğu söylenebilir.
OleDbDataAdapterin genelde kullanılan 4 adet metodu vardır. Bunlar;
1- public OleDbDataAdapter(string,string);
2- public OleDbDataAdapter(string,OleDbConnection);
3- public OleDbDataAdapter(OleDbCommand);
4- public OleDbDataAdapter();
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnAl_Click(object sender, EventArgs e)
{
OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source= Northwind.mdb");
//OleDataAdapter nesnemizi oluşturuyoruz.
//OleDbDataAdapter(string,OleDbConnection) şeklinde.
OleDbDataAdapter daKategori = new OleDbDataAdapter("Select * From Categories", baglan);
OleDbDataAdapter daCalisan = new OleDbDataAdapter("Select * From Employees", baglan);
OleDbDataAdapter daMusteri = new OleDbDataAdapter("Select * From Customers", baglan);
//DataGrid nesnesi oluşturacağız.
DataGrid dg = new DataGrid();
dg.Size = new Size(400, 230);
//DataGrid nesnesini formumuza ekliyoruz.
this.Controls.Add(dg);
try
{
baglan.Open();
//DataSet ile, veritabanından yukarıdaki sql ifadesi ile
//çekilecek verinin bellekteki konumu belirtiliyor.
DataSet ds = new DataSet();
//Fill metodu ile sql ifadesini, geçerli
//bağlantı üzerinden çalıştırılıyor.
//Karışıklık olmasın diye tablo isimlerini
//Fill metodunda belirttik.
daKategori.Fill(ds, "Kategoriler");
daCalisan.Fill(ds, "Çalışanlar");
daMusteri.Fill(ds, "Müşteriler");
dg.DataSource = ds;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
baglan.Close();
}
}
}
}