none
Datagridviewda kaydı bulduktan sonra guncellemiyor RRS feed

  • Genel Tartışma

  • Merhaba normal şartlarda aşağıdaki komut ile datagridview üzerinde kaydı bulduktan sonra kaydete basıp güncelleyebiliyorum ama textbox ile aratıp kaydı buluncu güncelleme yapmıyor yardım edebilir misiniz? teşekkür ederim

    Bu form açılınca normal olarak verilerimi çekiyor:
    private void Form1_Load(object sender, EventArgs e)
            {
                baglanti = new SQLiteConnection("data source=c:\\database\\karaman.db;count changes=off;journal mode=off;pooling=true;cache size=10000;page size=4096;synchronous=off");
                da = new SQLiteDataAdapter("select * from kayitlar", baglanti);
                ds = new DataSet();
                da.Fill(ds);
                da.FillSchema(ds, SchemaType.Source);
    
                SQLiteCommandBuilder cb = new SQLiteCommandBuilder(da);
                da.UpdateCommand = cb.GetUpdateCommand();
                da.InsertCommand = cb.GetInsertCommand();
                da.DeleteCommand = cb.GetDeleteCommand();
    
                dataGridView1.DataSource = ds.Tables[0];
     
            }
    burda ise formumu veritabanına başarıyla kaydediyor:
    private void metroButton2_Click(object sender, EventArgs e)
            {
                da.Update(ds.Tables[0]);
    
            }
    ancakkkkkkkkkkkk:
    bu kod ile datagrid üzerinde kaydı buluyorum ama kaydete basınca yani metrobutton2 ye basınca kaydetmiyor:

    private void metroTextBox1_TextChanged(object sender, EventArgs e)
            {
                try
                {
                    baglanti.Open();
                    DataTable tbl = new DataTable();
                    string vara, cumle;
                    vara = metroTextBox1.Text;
                    cumle = "Select * from kayitlar where adisoyadi like '%" + metroTextBox1.Text + "%'";
                    SQLiteDataAdapter adptr = new SQLiteDataAdapter(cumle, baglanti);
                    adptr.Fill(tbl);
                    baglanti.Close();
                    dataGridView1.DataSource = tbl;
                }
                catch (Exception hata)
                {
                    MessageBox.Show("İşlem Sırasında Hata Oluştu." + hata.Message);
                }



    14 Ağustos 2020 Cuma 07:59

Tüm Yanıtlar

  • Bir ara aynı sorunu ben de yaşamıştım.

    sizde işe yarar mı bilmem ancak ben şöyle çözdüm;

    Öncelikle veri kaynağına null atadım;

    dataGridView1.DataSource=null;

    Ardından tüm satırları temizledim;

    dataGridView1.Rows.Clear();

    Son olarak veri kaynağına yeni değeri atadım;

     dataGridView1.DataSource = tbl;


    http://koddefteri.net


    • Düzenleyen skrc28 15 Ağustos 2020 Cumartesi 08:25
    15 Ağustos 2020 Cumartesi 08:25