Veri tabanına kayıt ekleme C# Ders72
Veri tabanına kayıt ekleme C# Ders72
Daha fazla bilgi için : www.gorselprogramlama.com
OleDbCommand Sınıfı : Komut işlemlerinin yapıldığı sınıftır.
Connection Özelliği : Bağlantıyı öğrenmek içn kullanılır.
CommandText Özelliği :Sql kodunu öğrenmek içn kullanılır.
ExecuteNonQuery Özelliği : CommandText ile yazılan sorguyu gerçekleştirmek için kullanılır.
Örnek : Aşağıdaki veri tabanı alanlarını access 2007’de oluşturun ve projenizin bin— debug klasörüne kaydedin.Veri tabanımızda 4 adet alan olduğu için forma 4 adet textbox,4 adet label,1 adet dataGridView,1 adet buton ekliyoruz.


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 veritabani_baglanti
{
public partial class Form1 : Form
{ //Daha fazla bilgi için : www.gorselprogramlama.com
public Form1()
{
InitializeComponent();
}
OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=data.accdb");
DataTable tablo = new DataTable();
OleDbDataAdapter adtr = new OleDbDataAdapter();
OleDbCommand kmt =new OleDbCommand();
void listele()
{ //Daha fazla bilgi için : www.gorselprogramlama.com
tablo.Clear();
bag.Open();
OleDbDataAdapter adtr = new OleDbDataAdapter("select * From ogrbil", bag);
adtr.Fill(tablo);
dataGridView1.DataSource = tablo;
adtr.Dispose();
bag.Close();
}
private void Form1_Load(object sender, EventArgs e)
{
listele();
dataGridView1.Columns[0].HeaderText = "No";
dataGridView1.Columns[1].HeaderText = "Adı";
dataGridView1.Columns[2].HeaderText = "Soyadı";
dataGridView1.Columns[3].HeaderText = "Sınıfı";
} //Daha fazla bilgi için : www.gorselprogramlama.com
private void kaydet_Click(object sender, EventArgs e)
{
bag.Open(); //ilk olarak bağlantıyı yani veri tabanımızı açıyoruz.
kmt.Connection = bag; //komutumuzun bağlantısını öğreniyoruz.
kmt.CommandText = "INSERT INTO ogrbil(nosu,adi,soyadi,sinifi) VALUES ('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "')"; //sql kodumuzu yazıyoruz.
kmt.ExecuteNonQuery(); yazılan sql kodunu gerçekleştiriyoruz.
kmt.Dispose(); //Burayı yazmak zorunda değilsiniz.Yazmazsanızda çalışır.Komutu kullanım dışı bırakıyor.
bag.Close(); Bağlantıyı kapatıyoruz.
listele(); //listele prosedürünü çağırıyoruz.
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
}
}
} //Daha fazla bilgi için : www.gorselprogramlama.com





Yukarıdaki kodlarda gözüktüğü gibi kayıt ekleme işlemi için kullanılan sql kodu INSERT INTO ‘dur.INSERT INTO’dan sonra tablo ismimizi yazıyoruz.Parantez içinde alan isimlerimizi yazıyoruz.Values yazıp parantez içinde textboxlarımızı yazıyoruz.1. textbox 1. alana 2. textbox 2. alana ..vb . kaydedilecek şekilde yazılmıştır.Yani textbox1 deki bilgi access dosyasındaki nosu alanına , textbox2’ye yazılan bilgi access dosyasındaki adi alanına … gibi yazılacaktır. textboxları yazarken tek tırnak , çift tırnak ve + içerisine almayı unutmayın.
Kullanım : tek tırnak çift tırnak artı textBox1.Text artı çift tırnak tek tırnak = ‘”+textbox1.Text+'”
Dersin videolu anlatımı ve anlatımda yapılan projeyi indirmek için



batuhan :
Genelde çoğu programlarda tablolar bellidir.Zaten önce veri tabanı oluşturulr daha sonra kodlamaya geçilir.Ama extrem bir durum ise tablo ekleme işlemi yaptığın kodda tablo ismi ne veriyorsan ; aynı tablo isminde insert into ile ekleme yapabilirsin.
buton eklenmio projeye ?
burak :
hangi proje eklenmiyo buton
Elinize sağlık güzel bir çalışma olmuş. Peki mükerrer veri engelini nasıl yapabiliriz?
murat :
Aşağıdaki kod bloğu ile çözebilirsin.Sql COUNT komutu ile belirli şarta uyan kaydı saydırıyoruz.Eğer 0 dan büyükse yani 1 ise kayıt var. değilse kayıt yok.Buna göre aynı kaydı bir daha giriş engelleyebilirsin.Veri tabanındaki tablo adını ve alanları kendi tablona göre değiştirisin.
int a;
con.Open();
OleDbCommand sorgu = new OleDbCommand(“Select Count (*) from kullanicibil Where KullaniciAdi='” + textBox1.Text.Trim() + “‘ And Sifre='” + textBox2.Text.Trim() + “‘ “,con);
a= byte.Parse(sorgu.ExecuteScalar().ToString());
if (a > 0)
{
Kayıt varrrrr
}
else kayıt yokkkkk
con.Close();
adtr.Fill(tablo); tablo bulunamadı diye hata veriyor yardımcı olur musunuz lütfen
mzlmtalmac :
tabloyu tanımlamamış olabilirsiniz.
Table tablo=new Table();
Kolay gelsin herkese.. Ben access veritabanındaki verileri datagirdviewde görüntülediğimizde en alt satırda boş satır oluşuyo kendiliğinden bunu kaldırmayı soracaktım yardımcı olacak arkadaşlara şimdiden teşekkürler.
Hocam en az 3 veritabanı kullanılarak halı saha programı yapmamız isteniyor yardımcı olabilir misiniz