textbox’a girilen karakterlerin bulunduğu kaydı datagridView’de gösterme C# Ders75

textbox’a girilen karakterlerin bulunduğu kaydı datagridView’de gösterme C# Ders75

Örnek : Arama işlemi için bir önceki dersimizdeki örneğe 4 tane textbox ekleyelim.Daha önce bahsetmediğimiz kodlara açıklama satırı ekledim.Kodları textboxların textChanged olaylarına ekledim.Sebebi textboxlara bilgi girildiği anda arama işlemi yapsın diye.textChanged olayına textbox’ı çift tıklayarak ulaşabilrisiniz. Eklediğim textboxların namelerini değiştirdiğime dikkat edin.textBox1–>txtAraNo  ,  textBox2–> txtAraAdi … gibi.

Form1’e yazılacaklar

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

{

public Form2 frm2;

public Form3 frm3;

public Form1()

{

InitializeComponent();

frm2 = new Form2();

frm3 = new Form3();

frm2.frm1 = this;

frm3.frm1 = this;

}

public OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=data.accdb");

public DataTable tablo = new DataTable();

public OleDbDataAdapter adtr = new OleDbDataAdapter();

public OleDbCommand kmt =new OleDbCommand();

public void listele()

{

tablo.Clear();

bag.Open();

OleDbDataAdapter adtr = new OleDbDataAdapter("select * From ogrbil", bag);

adtr.Fill(tablo);

dataGridView1.DataSource = tablo;

adtr.Dispose();

bag.Close();

} //Daha fazla bilgi için : www.gorselprogramlama.com

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ı";

}

private void button1_Click(object sender, EventArgs e)

{

frm2.ShowDialog();

}

private void sil_Click(object sender, EventArgs e)

{

try

{

DialogResult cevap;

cevap = MessageBox.Show("Kaydı silmek istediğinizden eminmisiniz", "Uyarı", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if (cevap == DialogResult.Yes)

{

kmt.Connection = bag;

bag.Open();

kmt.CommandText = "delete from ogrbil where nosu='" + dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'";

kmt.ExecuteNonQuery();

bag.Close();

listele();

}

}

catch (Exception hata)

{

MessageBox.Show(hata.Message);

}

}

private void musteriDuzenle_Click(object sender, EventArgs e)

{

frm3.ShowDialog();

}

private void cikis_Click(object sender, EventArgs e)

{

Close(); Application.Exit();

}

private void txtAraNo_TextChanged(object sender, EventArgs e)

{

OleDbDataAdapter adtr = new OleDbDataAdapter("select * From ogrbil", bag);

if (txtAraNo.Text == "")

{

kmt.Connection = bag;

kmt.CommandText = "Select * from ogrbil";

adtr.SelectCommand = kmt;

adtr.Fill(tablo);

}

if (Convert.ToBoolean(bag.State) == false)

{

bag.Open();

}

adtr.SelectCommand.CommandText = " Select * From ogrbil" +" where(nosu like '%" + txtAraNo.Text + "%' )";

tablo.Clear();

adtr.Fill(tablo);

bag.Close();

}

private void txtAraAdi_TextChanged(object sender, EventArgs e)

{

OleDbDataAdapter adtr = new OleDbDataAdapter("select * From ogrbil", bag);

if (txtAraAdi.Text == "")

{

kmt.Connection = bag;

kmt.CommandText = "Select * from ogrbil";

adtr.SelectCommand = kmt;

adtr.Fill(tablo);

}

if (Convert.ToBoolean(bag.State) == false)

{

bag.Open();

}

adtr.SelectCommand.CommandText = " Select * From ogrbil" + " where(adi like '%" + txtAraAdi.Text + "%' )";

tablo.Clear();

adtr.Fill(tablo);

bag.Close();

}

private void txtAraSoyadi_TextChanged(object sender, EventArgs e)

{

OleDbDataAdapter adtr = new OleDbDataAdapter("select * From ogrbil", bag);

if (txtAraSoyadi.Text == "")

{

kmt.Connection = bag;

kmt.CommandText = "Select * from ogrbil";

adtr.SelectCommand = kmt;

adtr.Fill(tablo);

}

if (Convert.ToBoolean(bag.State) == false)

{

bag.Open();

}

adtr.SelectCommand.CommandText = " Select * From ogrbil" + " where(soyadi like '%" + txtAraSoyadi.Text + "%' )";

tablo.Clear();

adtr.Fill(tablo);

bag.Close();

}

private void txtAraSinifi_TextChanged(object sender, EventArgs e)

{

OleDbDataAdapter adtr = new OleDbDataAdapter("select * From ogrbil", bag);

if (txtAraSinifi.Text == "")

{

kmt.Connection = bag;

kmt.CommandText = "Select * from ogrbil";

adtr.SelectCommand = kmt;

adtr.Fill(tablo);

}

if (Convert.ToBoolean(bag.State) == false)

{

bag.Open();

}

adtr.SelectCommand.CommandText = " Select * From ogrbil" + " where(sinifi like '%" + txtAraSinifi.Text + "%' )";

tablo.Clear();

adtr.Fill(tablo);

bag.Close();

}

}

}

Form2’ye yazılacaklar

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;

namespace veritabani_baglanti

{

public partial class Form2 : Form

{

public Form1 frm1;

public Form2()

{

InitializeComponent();

}

private void cikis_Click(object sender, EventArgs e)

{

this.Close();

}

private void kaydet_Click(object sender, EventArgs e)

{

if (textBox1.Text.Trim() != "" && textBox2.Text.Trim() != "" && textBox3.Text.Trim() != "" && textBox4.Text.Trim() != "")

{

frm1.bag.Open();

frm1.kmt.Connection = frm1.bag;

frm1.kmt.CommandText = "INSERT INTO ogrbil(nosu,adi,soyadi,sinifi) VALUES ('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "')";

frm1.kmt.ExecuteNonQuery();

frm1.kmt.Dispose();

frm1.bag.Close();

frm1.listele();

textBox1.Clear();

textBox2.Clear();

textBox3.Clear();

textBox4.Clear();

MessageBox.Show("Kayıt işlemi tamamlandı ! ");

}

else

{

MessageBox.Show("Boş alanları doldurunuz !!!");

}

}

}

}

Form3’e yazılacaklar

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;

namespace veritabani_baglanti

{

public partial class Form3 : Form

{

public Form1 frm1;

public Form3()

{

InitializeComponent();

}

private void Form3_Load(object sender, EventArgs e)

{

textBox1.Text =frm1.dataGridView1.CurrentRow.Cells[0].Value.ToString();

textBox2.Text =frm1.dataGridView1.CurrentRow.Cells[1].Value.ToString();

textBox3.Text =frm1.dataGridView1.CurrentRow.Cells[2].Value.ToString();

textBox4.Text =frm1.dataGridView1.CurrentRow.Cells[3].Value.ToString();

}

private void kaydet_Click(object sender, EventArgs e)

{

try

{

frm1.bag.Open();

frm1.kmt.Connection = frm1.bag;

frm1.kmt.CommandText = "UPDATE ogrbil SET nosu='" + textBox1.Text + "',adi='" + textBox2.Text + "',soyadi='" + textBox3.Text + "',sinifi='" + textBox4.Text + "' WHERE nosu='" + frm1.dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'";

frm1.kmt.ExecuteNonQuery();

frm1.kmt.Dispose();

frm1.bag.Close();

frm1.listele();

this.Close();

}

catch

{

;

}

}

private void cikis_Click(object sender, EventArgs e)

{

this.Close();

}

}

}

Dersin videolu anlatımı ve anlatımda yapılan projeyi indirmek için

Tıklayınız







Rica: Sitemizin Google'da Ön Sıralarda Çıkması İçin Lütfen Alttaki Google+ Butonuna Tıklayınız , Sayfamızı Facebookta Beğeniniz veya yazıları Twitter,Facebookta paylaşınız.
Paylaş :
  1. melihcan
    Şub 15th, 2011 at 18:34 | #1

    işte budur.
    sayın admin. nasıl teşekkür etsem azdır.
    Allah ilminizi daim etsin.
    ilminizi artırsın.

  2. TalhaCan
    Şub 15th, 2011 at 20:57 | #2

    Teşekkürler çok işime yaradı :)

  3. Hüseyin
    Şub 25th, 2011 at 15:55 | #3

    Hocam öncelikle çalışmalarınız mükemmel çk faydasını gördüm
    fakat bir sorum olacak neden listview deilde datagrid kullanıyorusunuz arasında ne gibi farklar
    var . bende datagrid kullanıyorum ve listview e geçmek istiyorum daha hoş duruyor.
    sizce ?

  4. yunus
    Mar 4th, 2011 at 13:15 | #4

    örnek için teşekkürler.birşey sormak istiyorum.Ben ad ve soyad textlerini like ile tek buton altında sorgulamak istiyorum.Bunu yapabilmem için yukardaki ad ara butonuna nasıl bir ekleme yapmam gerekir.yardımcı olurmusunuz.teşekkürler.

  5. hüseyin
    Mar 18th, 2011 at 21:29 | #5

    Hocam crystal report ile ilgili başlangıç seviyesinde örnek yapmanız mumkun mü ?
    sizin anlatımınız bi başka güzel…
    başarılarınızın devamını diliyorum iyi çalışmalar.

  6. admin
    Mar 18th, 2011 at 23:51 | #6

    İlerde yayınlamaya çalışırız.

  7. irem
    Haz 9th, 2011 at 09:33 | #7

    hocam formumda arama yapacam ama olmuyo…datagridview var textboxlar var . find metotunda hata veriyo ne yapmam lazım

  8. admin
    Haz 9th, 2011 at 15:43 | #8

    verdiğim linkte arama bölümü var incele : http://www.gorselprogramlama.com/kirtasiye-takip-programi-1-0-vb-net

  9. Nur
    Haz 20th, 2011 at 15:48 | #9

    ‘veritabani_baglanti.Form1.dataGridView1′ is inaccessible due to its protection level
    Bu hatayı alıyorum.Nerede sorun var acaba yardımcı olur musunuz?

  10. admin
    Haz 20th, 2011 at 23:26 | #10

    form1 deki datadridview1’i seç.Modifers özelliğini Public yap.

  11. recep
    Tem 11th, 2011 at 09:10 | #11

    Hocam projeyi indir linki varmı ben göremedim nasıl indirecez :D yardımın için teşekkürler….

  12. fatihsahbaz
    Ara 1st, 2011 at 02:24 | #12

    hocam çok acil yardıma ihityacım var datagriedwiev otomatik sıralam özelliği var harf azalan artan sayıya göre onu sabit yapıp bu özelliği mouse click ile etkinsiz hale getirmem lazım yardımcı olurmusunuz

  13. admin
    Ara 1st, 2011 at 17:14 | #13

    Sıralama için mesela form load olayına
    this.dataGridView1.Sort(this.dataGridView1.Columns[2], ListSortDirection.Ascending );
    kodunu yaz.ben yukarıda 2. kolon(yani 3.kolon.0 dan başladığı için) göre A-Z ye sıralama yaptırdım.Z-A’ya yaptırmak için ListSortDirection.Descending yap.
    Değişikliği önlemek içinde aşağıdaki kodu kullan.
    dataGridView1.Enabled = false;

  14. Oca 15th, 2012 at 21:53 | #14

    Admin bu kodlarını denedim kendime göre değiştirdim herşey süper tek sorun sil kodunda. Sil’e bastığımda veritürü uyuşmazlığı yazıyor.

    Kodlarım :
    try
    {
    DialogResult cevap;
    cevap = MessageBox.Show(“Kaydı silmek istediğinizden EminMisiniz ?”, “Uyarı”, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
    if (cevap == DialogResult.Yes)
    {
    kmt.Connection = bag;
    bag.Open();
    kmt.CommandText= “delete from Tablo1 where PARCA_NO='” + dataGridView1.CurrentRow.Cells[0].Value.ToString() + “‘”;
    kmt.ExecuteNonQuery();
    bag.Close();
    listele();

    }
    }

    catch (Exception hata)
    {
    MessageBox.Show(hata.Message);
    }

    Şimdi burda PARCA_NO Yazan kısma acess’deki birincil anahtar yazılıyor sanırım ?

  15. admin
    Oca 16th, 2012 at 08:50 | #15

    veri tabanındaki PARCA_NO alanının veri türü büyük ihitimalle sayıdır.Metin yaparsan sorun çözülür.

  16. admin
    Şub 19th, 2012 at 14:30 | #16

    Sitemizin Google’da Ön Sıralarda Çıkması İçin Lütfen Google+ Butonuna Tıklayınız , Sayfamızı Facebookta Beğeniniz veya yazıları Twitter,Facebookta paylaşınız.

  17. Cenk
    Şub 1st, 2013 at 21:31 | #17

    Sayın Admin; Her arama textbox’ı için tek tek arama yaptırmaktansa örneğin şöyle birşeyi nasıl yaptırabilirim. Belli bir tarihte, fiyatı 100 lira olan, bir üründen 3 tane satan personellerin listesi gibi bir sorguyu nasıl yapabilirim. Arama textbox’larında bu kriterler olacak, diğer arama textbox’ları boş ise onları dikkate almayacak. Teşekkürler.

  18. kubilay
    Ağu 5th, 2013 at 15:44 | #18

    C# çalışıyorum şöy bi sıkıntım var textbox sı kodla oluşturdum tmm name nide verdim ama sql bağlantı nasıl oluşturacam CommandText içerisine ne yazmalıyım bilmiyorum

  19. admin
    Ağu 11th, 2013 at 11:14 | #19

Yorum Yazın ...

XHTML: Bu Etiketleri Kullanabilirsiniz : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>