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



işte budur.
sayın admin. nasıl teşekkür etsem azdır.
Allah ilminizi daim etsin.
ilminizi artırsın.
Teşekkürler çok işime yaradı 🙂
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 ?
ö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.
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.
İlerde yayınlamaya çalışırız.
hocam formumda arama yapacam ama olmuyo…datagridview var textboxlar var . find metotunda hata veriyo ne yapmam lazım
verdiğim linkte arama bölümü var incele : http://www.gorselprogramlama.com/kirtasiye-takip-programi-1-0-vb-net
‘veritabani_baglanti.Form1.dataGridView1’ is inaccessible due to its protection level
Bu hatayı alıyorum.Nerede sorun var acaba yardımcı olur musunuz?
form1 deki datadridview1’i seç.Modifers özelliğini Public yap.
Hocam projeyi indir linki varmı ben göremedim nasıl indirecez 😀 yardımın için teşekkürler….
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
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;
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 ?
veri tabanındaki PARCA_NO alanının veri türü büyük ihitimalle sayıdır.Metin yaparsan sorun çözülür.
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.
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.
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
kubilay:
Aşağıdaki linki incele.
http://www.gorselprogramlama.com/kod-ile-olusturulan-butona-gorev-atama-c-net/
@admin
Merhabalar. Kendime ait bir personel programı yapıyorum. Ve elimdeki textbox a c2 sütununu sorgulattığımda oradaki ismlerin hepsinin çıkmasını ve daha seçebilmeyi istiyorum yardım edermisiniz.
adem :
Soruyu açarmısın.Tam anlaşılmıyo.
@admin
Elimdeki textboxa c2 sütununu sorguladığım da oradaki isimlerin hepsinin çıkmasını ve daha sonra seçebilmeyi istiyorum yardım edermisiniz?
Tc no ile sorgulayabiliyorum. Fakat bunu “C” sütunundaki isimlerden yapmayı istiyorum.
öRNEK:
ad yazdığımda
ADEM
ADNAN
ADİL
gibi görünüp seçtiğimizde de o bilgileri getirsin.
Kod aşağıda;
Private Sub TextBox2_Change()
sonSat = Cells(Rows.Count, “c”).End(3).Row
For i = 2 To sonSat
If Cells(i, “C”).Value = Val(TextBox2.Value) Then
label1.Caption = Cells(i, “c”).Value
Label36.Caption = Cells(i, “d”).Value
Label3.Caption = Cells(i, “e”).Value
Label6.Caption = Cells(i, “AA”).Value
Label12.Caption = Cells(i, “g”).Value
Label13.Caption = Cells(i, “J”).Value
Label14.Caption = Cells(i, “k”).Value
Label15.Caption = Cells(i, “l”).Value
Label34.Caption = Cells(i, “m”).Value
Label37.Caption = Cells(i, “n”).Value
Label28.Caption = Cells(i, “o”).Value
Label27.Caption = Cells(i, “p”).Value
Label26.Caption = Cells(i, “q”).Value
Label54.Caption = Cells(i, “r”).Value
Label45.Caption = Cells(i, “s”).Value
Label49.Caption = Cells(i, “AC”).Value
Label48.Caption = Cells(i, “AB”).Value
Label47.Caption = Cells(i, “w”).Value
Label46.Caption = Cells(i, “x”).Value
Label44.Caption = Cells(i, “y”).Value
Label43.Caption = Cells(i, “z”).Value
Exit For
End If
Next i
End Sub
Abi mesala no kismina ayni no ya sahip öğrenci girişi yapildigin da hata vermesini istiyoruz nasil yapabiliriz
kadir :
Aşağıdaki verdiğim örnekte kayıt tckimlik kayıt edilmiyor.if ile bunu yapabilirsin tckimlik gelen değere göre.
tckimlik=1 ise kayıt var, 0 ise yok.
byte sayTcKimilk;
bag.Open();
kmt.Connection = bag;
kmt.CommandText = “Select Count (tcKimlik) from hastabil Where tcKimlik='”+frm3.textBox1.Text+”‘”;
sayTcKimilk =byte.Parse(kmt.ExecuteScalar().ToString());
if (sayTcKimilk>0) durum = true; // kayıt var demek
bag.Close();
Aşağıdaki linkte ayrıntılı kodlara ulaşabilirsiniz.
http://www.gorselprogramlama.com/aile-hekimligi-takip-sistemi-c-windows-forms-application/
Hocam eline sağlık güzel bir paylaşım Kolay gelsin