Kullanmıyorum. C# 'da biraz acemiyim. Kullandığım kod satırlarının bir kısmı;
//datagridview 'de goster() komutu:
void goster()
{
baglanti = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= Restoran1.mdb");
baglanti.Open();
da = new OleDbDataAdapter("Select *From Urunler", baglanti);
DataTable tablo = new DataTable();
da.Fill(tablo);
StokdataGridView1.DataSource = tablo;
baglanti.Close();
}
Aşağıdaki ise toplama işlemini yaptırmak istediğim komut.
private void button1_Click_1(object sender, EventArgs e)
{
string sorgu = "select Stok, (Stok + @StokArti) from Urunler Where UrunAdi=@urun";
komut = new OleDbCommand(sorgu, baglanti);
komut.Parameters.AddWithValue("@StokArti", Convert.ToInt32(textBox1.Text));
komut.Parameters.AddWithValue("@urun", comboBox1.SelectedItem);
baglanti.Open();
komut.ExecuteNonQuery();
baglanti.Close();
goster();
}
Burda olmayan bir komut dizisinde combobox'a urunler kolonunu atadım. comboboxtan seçeceğim ürünün @StokArti kısmı olarak yazdığım textbox'a hangi sayıyı girersem seçilen ürünün stok adedinin o kadar artmasını amaçladım. Bu komutta düzensizlik yok ve hata almıyorum. Fakat veritabanı üzerinde herhangi bir değişiklik olmuyor.
string sorgu = "select Stok, (Stok + @StokArti) from Urunler Where UrunAdi=@urun";
Hatta şu kısmı
string sorgu = "Update Urunler Set Stok=@Stok Where UrunAdi=@urun ";
bu şekilde yazmazsam datagridview 'de bir değişiklik yapıldığını da göremiyorum.