none
C# Datagridview'den SQL Veritabanında kritere göre sütun güncelleme RRS feed

  • Soru

  • WITH data As (
     SELECT *
    FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
    'Excel 8.0;Database=C:\Users\term\Desktop\ürün tablosu.xls',
    [Sayfa2$]))
    
    
    UPDATE urun_list
    SET urun_list.BARKODU=data.BARKODU
    FROM urun_list  INNER JOIN data 
    ON urun_list.KODU=data.KODU 

    yukarıdaki SQL sorgusunun yaptığı işlemi aşağıdaki kod ile excelden datagridviewe çektiğim tablodan Sql deki urun_list tablosunun ilgili sütununu nasıl güncelleyebilirm.

    OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source= C:\\Users\\Desktop\\ürün tablosu.xls ; Extended Properties=Excel 12.0");
                baglanti.Open();
                string sorgu = "select * from [Sayfa2$] ";
                OleDbDataAdapter data_adaptor = new OleDbDataAdapter(sorgu, baglanti);
                baglanti.Close();
    
                DataTable dt = new DataTable();
                data_adaptor.Fill(dt);
                dataGridView1.DataSource = dt;
    5 Şubat 2016 Cuma 20:11

Tüm Yanıtlar

  • Kendi soruma kendim yanıt yzıyorum.

    Aşağıdaki kod da INNER JOIN den sonra data yerine datagridView1 i göstermem lazım. Sorgu içerisinde nasıl yazarım.

    Bu kod ile datagridviewv deki kolonu SQL deki tabloya güncelleyebilir miyim. Çalışır mı.

    Teşekkürler...

     SqlConnection baglanti = new SqlConnection(@"Data Source=PC\SQLEXPRESS;Integrated Security=True");
    
                baglanti.Open();
                string sorgu = "UPDATE urun_list SET urun_list.BARKODU='" + dataGridView1.CurrentRow.Cells[1].Value.ToString() + "' FROM urun_list  INNER JOIN data ON urun_list.KODU='" + dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'";
                SqlDataAdapter data_adaptor = new SqlDataAdapter(sorgu, baglanti);
                baglanti.Close();
    
                DataTable dt = new DataTable();
                data_adaptor.Fill(dt);
                dataGridView1.DataSource = dt;

    6 Şubat 2016 Cumartesi 09:10