Belki aynı sorunu yaşayıp çözüm bulamayanlara yardımcı olur.(Alıntıdır)Konuyla ilgili program aşağıda!
using System.Data.OleDb;
//Access ile işlemler için gerekli isim alanını tanımladım.
namespace ADO.NET_AccessInsertveSelect_
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Bağlantıda ve diğer işemlerde kullanacağım nesneleri global
//olarak tanımladım.
OleDbConnection baglan = new OleDbConnection(); //bağlantı için
OleDbCommand sec = new OleDbCommand(); //Tablodaki kayıtları seçmek için
OleDbCommand ekle = new OleDbCommand(); //Tabloya kayıt eklemek için
OleDbDataReader oku; //okuma işlemini yapmak için
//Formumuza çift tıklayarak kod satırına geliyoruz.
private void Form1_Load(object sender, EventArgs e)
{
//Form açılır açılmaz veri tabanına bağlantının
//kurulması için form1_load içinde access e bağlanıyorum.
baglan.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;Data Source=d:/sirket.mdb;";
//baglantıyı açıyorum.
baglan.Open();
//aşagıdaki komutu şu şekilde de kullanabiliriz.
//sec.Connection=baglan;
//ikiside aynı işi yapar yani sec komutunun
//baglan ile çalışacağını#8230;
sec = baglan.CreateCommand();
//firmalar tablosundaki tüm kayıtlar seçiliyor.
sec.CommandText = "SELECT * FROM firma";
//seçilen bu kayıtlar ExecuteReader() fonksiyonu
//DataReader nesnesi sayesinde okunuyor
oku = sec.ExecuteReader();
//Okuma işlemi oku butonuna tıkandığında olacağı için
//read() fonksiyonunu altta button1_Click içinde kullanacağız.
}
//Formumuzun üzerindeki Button1#8217;e çift tıklayarak kod satırına geliyoruz
private void button1_Click(object sender, EventArgs e)
{
try
{
//Burada try ve catch kullanıyoruz
//çünkü veri tabanındaki kayıtların hepsi
//okunup okunacak veri kalmadığı zaman catch'in içindeki hata
//oluşuyor.
oku.Read();
//Acsess'ki no sütununu textbox1'de göster
textBox1.Text = "" + oku["firma no"];
//Acsess'ki firma sütununu textbox2'de göster
textBox2.Text = "" + oku["firma adı"];
}
catch (InvalidOperationException)
{
//veri tabanındaki tüm kayıtlar okunup
//okunacak veri kalmadığı zaman aşağıdaki mesaj veriliyor.
MessageBox.Show("Okunacak veri kalmadı.");
}
}
//Formumuzun üzerindeki Button2#8217;e çift tıklayarak kod satırına geliyoruz
private void button2_Click(object sender, EventArgs e)
{
try
{
//Buradaki try catch'i ise hatalı veri girişini önlemek
//için kullandık
//Örneğin Textbox'lara veri girmeden ekle butonuna basarsak
//catch'in içindeki mesaj verilir.
ekle = baglan.CreateCommand();
//textbox3'e girilen değeri firma no sütününa
//textbox4'e girilen değeri firma adı sütununa ekle
ekle.CommandText = "INSERT INTO firma([firma no],[firma adı]) VALUES('" + textBox3.Text+"','" + textBox4.Text + "')";
if (ekle.ExecuteNonQuery() == 1)
{
//Buradaki if i ise şunun için kullandık;
//eğer ExecuteNonQuery fonksiyonu doğru bir şekilde çalışmışsa yani 1 se
//yani veri doğru bir şekilde eklenmişse aşağıdaki mesajı ver.
MessageBox.Show("Veri Eklendi.");
}
}
catch(OleDbException)
{
//hatalı veri girişinde verilecek mesaj.
MessageBox.Show("Hatalı veri girişi yaptınız.");
}
}}}
Artık programımızı çalıştırarak veri tabanındaki kayıtları okuyabilir ve kayıt ekleyebiliriz.