Arama butonu
Bu konudaki kullanıcılar: 1 misafir
11
Cevap
564
Tıklama
0
Öne Çıkarma
C# Sql Datagriedview update komutu yardımcı olur musunuz?
O
6 yıl
Yarbay
Konu Sahibi

Şimdi benim datagriedviewim var buna veritabanından kayıtları görüntüle butonuna bastığımda görüntüleyebiliyorum,silebiliyorum,ekleyebiliyorum ama update yapamıyorum

Şimdi datagriedviewde satıra tıkladığımda textboxlara comboboxlara veriler geliyor bende oradan değişikliği yapıp butona basınca güncellemesini istiyorum ama yapamadım kodlarım bu

try
{
baglanti.Open();
SqlCommand komut = new SqlCommand("update EmlakBilgi set siteadi=@siteadi,emlaktipi=@emlaktipi,odasayisi=@odasayisi,metrekare=@metrekare,fiyat=@fiyat,blok=@blok,no=@no,adsoyad=@adsoyad,telefon=@telefon,notlar=@notlar", baglanti);
komut.Parameters.AddWithValue("@siteadi", comboBox1.SelectedItem);
komut.Parameters.AddWithValue("@emlaktipi", comboBox5.SelectedItem);
komut.Parameters.AddWithValue("@odasayisi", comboBox2.SelectedItem);
komut.Parameters.AddWithValue("@metrekare", textBox1.Text);
komut.Parameters.AddWithValue("@fiyat", textBox2.Text);
komut.Parameters.AddWithValue("@blok", comboBox3.SelectedItem);
komut.Parameters.AddWithValue("@no", comboBox4.SelectedItem);
komut.Parameters.AddWithValue("@adsoyad", textBox3.Text);
komut.Parameters.AddWithValue("@telefon", textBox4.Text);
komut.Parameters.AddWithValue("@notlar", textBox5.Text);
komut.ExecuteNonQuery();
verilerigoster();
baglanti.Close();
MessageBox.Show("Güncelleme Başarılı");

}
catch
{
MessageBox.Show("Güncelleme Başarısız");
}

Anlamadım bir türlü yukarda SqlCommanda update komutunda bir yanlışlık var sanırım



G
6 yıl
Yarbay

hata ne veriyor veya veriyor mu veritabanını manuel kontrol ettin mi belki yazıyordur da o anda ekrana gelmiyor birde garip olan durum var updatede where kullanmamışsın hangi kaydı güncelliyorsun


Bu mesaja 1 cevap geldi.
O
6 yıl
Yarbay
Konu Sahibi

Guncelleme basarisiz diyor where in mantigi ne where site adi yapipda denedim olmadi



< Bu ileti DH mobil uygulamasından atıldı >


Bu mesajda bahsedilenler: @Gökşen PASLI
G
6 yıl
Yarbay

try catchi sil hatanın orijinalini gör sonradan try catch eklersin
where filtrelemede kullanılır
diyelim
tablon şu şekil olsun

EmlakID EmlakTipi OdaSayısı .....
1 Dubleks 4
2 Normal 3

sen güncelleme yapacağın kayıtta set falan=falan where EmlakID=1
diyecen ki 1. kayıt güncellensin





< Bu mesaj bu kişi tarafından değiştirildi Gökşen PASLI -- 24 Mart 2018; 23:44:14 >
Bu mesaja 1 cevap geldi.
O
6 yıl
Yarbay
Konu Sahibi

komut.ExecuteNonQuery();

hata verirken bu seçili oluyor ve su yazıyor

Additional information: The parameterized query '(@siteadi nvarchar(4000),@emlaktipi nvarchar(4000),@odasayisi nv' expects the parameter '@siteadi', which was not supplied.

Abi sen benim kodumu kopyalayıp buna

SqlCommand komut = new SqlCommand("update EmlakBilgi set siteadi=@siteadi,emlaktipi=@emlaktipi,odasayisi=@odasayisi,metrekare=@metrekare,fiyat=@fiyat,blok=@blok,no=@no,adsoyad=@adsoyad,telefon=@telefon,notlar=@notlar", baglanti);

where kodunu ekler misin kafandan örnek bi tane bende kendime göre değiştiriyim kodum bu.





< Bu mesaj bu kişi tarafından değiştirildi ORGANIKHOSAF -- 25 Mart 2018; 0:5:56 >

O
6 yıl
Binbaşı

kodlarını okumadım çünkü çok kötü gözlerim yoruldu ama sana söyle söyliyim update yada delete işlemlerinde spesifik birsey belirlemen lazım ve ona göre işlem yaptırman lazım yani mesela sen bir a verisini güncellerken onun id sine göre güncelleyebilirsin buda demektirki where id = id (secmiş oldugun verinin idsi )

mantıgını anlaman için sana 2 dakkada bir örnek yaptım bu örnekte direk datagrid viewin içinden de günceleyebilirsin.textboxlara dokunmadan.
https://mega.nz/#!LNtz0a6b!cXOAkcJYG124XFrOSUB86OnoqlSvqm6suzONf1K4ZYo





< Bu mesaj bu kişi tarafından değiştirildi OzMeN OzzY -- 25 Mart 2018; 19:53:54 >
Bu mesaja 1 cevap geldi.
O
6 yıl
Yarbay
Konu Sahibi

Teşekkürler




Bu mesajda bahsedilenler: @OzMeN OzzY
O
6 yıl
Binbaşı

önemli değil istersenhttps://www.facebook.com/groups/157221998132505/ gruba takılıp ordan örnekler indirebilirsin.


Bu mesaja 1 cevap geldi.
O
6 yıl
Yarbay
Konu Sahibi

Abi şimdi ben o programımı sizin attığınız kodlara bakarak kendi mantığımla düzelttim update yapabiliyorum ama

Şu sıkıntı var griedviewden tıkladığımda veriler comboboxlara textboxlara geliyor ama hepsini teker teker tekrardan seçerek güncelleme yapmamı istiyor mesela diyelim gelen verilerden telefon numarasını felan güncellemicem sadece evin kiralık mı satılık mı oldugunu değiştiricem hata veriyor

hata şu

Additional information: The parameterized query '(@siteadi nvarchar(4000),@emlaktipi nvarchar(4000),@odasayisi nv' expects the parameter '@siteadi', which was not supplied.

Ama ben mesela aynı kalacakları tekrardan comboboxlardan felan seçersem sonra butona basarsam hata vermeden güncelliyor.

baglanti.Open(); 
SqlCommand komut = new SqlCommand("update EmlakBilgi set siteadi=@siteadi,emlaktipi=@emlaktipi,odasayisi=@odasayisi,metrekare=@metrekare,fiyat=@fiyat,blok=@blok,no=@no,adsoyad=@adsoyad,telefon=@telefon,notlar=@notlar where id='" + dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'", baglanti);
komut.Parameters.AddWithValue("@siteadi", comboBox1.SelectedItem);
komut.Parameters.AddWithValue("@emlaktipi", comboBox5.SelectedItem);
komut.Parameters.AddWithValue("@odasayisi", comboBox2.SelectedItem);
komut.Parameters.AddWithValue("@metrekare", textBox1.Text);
komut.Parameters.AddWithValue("@fiyat", textBox2.Text);
komut.Parameters.AddWithValue("@blok", comboBox3.SelectedItem);
komut.Parameters.AddWithValue("@no", comboBox4.SelectedItem);
komut.Parameters.AddWithValue("@adsoyad", textBox3.Text);
komut.Parameters.AddWithValue("@telefon", textBox4.Text);
komut.Parameters.AddWithValue("@notlar", textBox5.Text);
komut.ExecuteNonQuery();
baglanti.Close();
verilerigoster();





< Bu mesaj bu kişi tarafından değiştirildi ORGANIKHOSAF -- 25 Mart 2018; 16:16:4 >


Bu mesajda bahsedilenler: @OzMeN OzzY
O
6 yıl
Binbaşı

Dostum

1- hersaniye yardım edemem dili öğrenmeden komplike şeyler yapmak yerine consoel uygulamaları yaparak algoritma ve arastırma yönünü güçlendir.

2- inputların yada textboxların neyse "required" leri kaldır sonuna inputsa value textbox ise text ekle..

3- codelerini burada sorarken "code" taglarına alda sayfa düzeninden anlasılmıyor zaten





< Bu mesaj bu kişi tarafından değiştirildi OzMeN OzzY -- 28 Mart 2018; 8:22:58 >
Bu mesaja 1 cevap geldi.
O
6 yıl
Yarbay
Konu Sahibi

Sorun çözüldü sorun combobox1.SelectedItem kullanmammış combobox1.Text kullanınca problem kalmadı parametrelerde .Text kullanmak gerekiyormuş
Teşekkürler.

baglanti.Open(); 
SqlCommand komut = new SqlCommand("update EmlakBilgi set siteadi=@siteadi,emlaktipi=@emlaktipi,odasayisi=@odasayisi,metrekare=@metrekare,fiyat=@fiyat,blok=@blok,no=@no,adsoyad=@adsoyad,telefon=@telefon,notlar=@notlar where id='" + dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'", baglanti);
komut.Parameters.AddWithValue("@siteadi", comboBox1.Text);
komut.Parameters.AddWithValue("@emlaktipi", comboBox5.Text);
komut.Parameters.AddWithValue("@odasayisi", Text);
komut.Parameters.AddWithValue("@metrekare", textBox1.Text);
komut.Parameters.AddWithValue("@fiyat", textBox2.Text);
komut.Parameters.AddWithValue("@blok", Text);
komut.Parameters.AddWithValue("@no", comboBox4.Text;
komut.Parameters.AddWithValue("@adsoyad", textBox3.Text);
komut.Parameters.AddWithValue("@telefon", textBox4.Text);
komut.Parameters.AddWithValue("@notlar", textBox5.Text);
komut.ExecuteNonQuery();
baglanti.Close();
verilerigoster();





< Bu mesaj bu kişi tarafından değiştirildi ORGANIKHOSAF -- 27 Mart 2018; 13:5:41 >


Bu mesajda bahsedilenler: @OzMeN OzzY
O
6 yıl
Binbaşı

parametrede kullansan değişkende kullansan onu bir textboxun textine yada inputun valuesine ataman lazım.

Bu arada önemli değil.Kolay gelsin.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.