Veritabanına bağlı windows form uygulamasında form içinde database deki verileri arama yaparak listview veya başka bir kontrolde göstermek için yapmamız gereken standart olarak yaptığımız ado.net olayında sqlcommand satırındaki sorguya ek parametre ekleyerek sorguyu gerçekleştirmek.
Form ekranına resimdeki gibi textbox buton ve gelecek olan verileri gösterebilmek için listview kontrolü sürükleyip yerleştirin. Örnek içinde iki şekilde arama yapabilirsiniz. Biri Google daki gibi arama yaparken harfleri girdikçe çıkacak olan sonuçları anında gösteren(bu büyük veri için aramanızda performans kaybı yaşanacaktır), diğeri ise aratılacak olan kelimeyi girdikten sonra buton ile arama işlemini yaptırmak.
[wpdm_file id=14]
Buton ile aratma yapmak için buton clik olayına yazılacak kod;
[cc lang=’csharp’ ]SqlConnection sql = new SqlConnection(“server=.; database=coder; trusted_connection=true;”);
private void btnAra_Click(object sender, EventArgs e)
{
lvListe.Items.Clear();
SqlCommand doldur = new SqlCommand(“select * from tblDeneme where ad like ‘%” + txtKelime.Text + “%'”, sql);
sql.Open();
SqlDataReader rdr = doldur.ExecuteReader();
while (rdr.Read())
{
ListViewItem li = new ListViewItem();
li.Text = rdr[“ad”].ToString();
li.SubItems.Add(rdr[“soyad”].ToString());
lvListe.Items.Add(li);
}
sql.Close();
}[/cc]
Textbox’un TextChanged olayına yazılacak kod;
[cc lang=’csharp’ ] private void txtKelime_TextChanged(object sender, EventArgs e)
{
lvListe.Items.Clear();
SqlCommand doldur = new SqlCommand(“select * from tblDeneme where ad like ‘%” + txtKelime.Text + “%'”, sql);
sql.Open();
SqlDataReader rdr = doldur.ExecuteReader();
while (rdr.Read())
{
ListViewItem li = new ListViewItem();
li.Text = rdr[“ad”].ToString();
li.SubItems.Add(rdr[“soyad”].ToString());
lvListe.Items.Add(li);
}
sql.Close();
}[/cc]
Helal olsun. O kadar aradım bir türlü bulamamıştım. Allah razı olsun.
cok teşekkurler
namespace ticari
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
}
private void Form4_Load(object sender, EventArgs e)
{
SqlConnection baglanti = new SqlConnection();
baglanti.ConnectionString = “Data Source=.;Initial Catalog=BYKUTLAR;Integrated Security=true”;
SqlCommand komut = new SqlCommand();
komut.CommandText = “SELECT *FROM musteri”;
komut.Connection = baglanti;
komut.CommandType = CommandType.Text;
SqlDataReader dr;
baglanti.Open();
dr = komut.ExecuteReader();
while (dr.Read())
{
ListViewItem item = new ListViewItem(dr[“id”].ToString());
item.SubItems.Add(dr[“musteriadi”].ToString());
item.SubItems.Add(dr[“cep”].ToString());
item.SubItems.Add(dr[“ev”].ToString());
item.SubItems.Add(dr[“istel”].ToString());
item.SubItems.Add(dr[“adres”].ToString());
item.SubItems.Add(dr[“eposta”].ToString());
listView1.Items.Add(item);
}
baglanti.Close();
label8.Text = listView1.Items.Count.ToString();
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
//listviewden satır seçip textboxa aktarma kodu
if (listView1.SelectedItems.Count > 0)
{
textBox1.Text = listView1.SelectedItems[0].SubItems[1].Text;
textBox2.Text = listView1.SelectedItems[0].SubItems[2].Text;
textBox3.Text = listView1.SelectedItems[0].SubItems[3].Text;
textBox4.Text = listView1.SelectedItems[0].SubItems[4].Text;
richTextBox1.Text = listView1.SelectedItems[0].SubItems[5].Text;
textBox6.Text = listView1.SelectedItems[0].SubItems[6].Text;
}
}
SqlConnection sql = new SqlConnection(“server=.; database=BYKUTLAR; trusted_connection=true;”);
private void textBox5_TextChanged(object sender, EventArgs e)
{
listView1.Items.Clear();
SqlCommand doldur = new SqlCommand(“select * from musteri where id like ‘%” + textBox5.Text + “%'”, sql);
SqlDataReader rdr = doldur.ExecuteReader();
sql.Open();
while (rdr.Read())
{
ListViewItem li = new ListViewItem();
li.Text = rdr[“id”].ToString();
li.SubItems.Add(rdr[“musteriadi”].ToString());
listView1.Items.Add(li);
}
sql.Close();
} // hocam öncelikle paylaşım için teşekkürler. Yukarda Hatamı Bulmaya yardımcı olursanız memnun olurum. Kolay gelsin…