Arama butonu
Bu konudaki kullanıcılar: 1 misafir
14
Cevap
3061
Tıklama
0
Öne Çıkarma
c# Access Update Çalışmıyor 2 gündür uğraşıyorum
O
11 yıl
Yüzbaşı
Konu Sahibi

Kodlar bunlar... Çalıştıramıyorum bir türlü sadece sql deyimi yani update olanı da accessdeki kısımda çalıştırmayı denedim şu hatayı alıyorum

" "' WHERE ID'" + textBox3.Text +"'"; ifadesi içindeki söz dizimi hatası(eksik işleç)


baglanti.Open(); 
komut.Connection = baglanti;
komut.CommandText = "UPDATE Bilgi SET Bildiren='" + textBox1.Text + "',MusteriAdresi='" + textBox2.Text + "',TelNo='" +maskedTextBox1.Text + "' WHERE ID='" + textBox3.Text + "'";
komut.ExecuteNonQuery();
baglanti.Close();
frm4.listele();
this.Close();
MessageBox.Show("Güncelleme İşlemi Tamamlandı !");

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



K
11 yıl
Yarbay

Komut.commandtext in satirina bir brakepoint koyun. Sonra debugtaki commandtexti alin sql e yapistirip execute edin. Nerede hata var goreceksiniz



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
C
11 yıl
Teğmen

baglanti.Open(); 
komut.Connection = baglanti;
komut.CommandText = "UPDATE Bilgi SET Bildiren='" + textBox1.Text + "',MusteriAdresi='" + textBox2.Text + "',TelNo='" +maskedTextBox1.Text + "' WHERE ID='" + textBox3.Text + "';";
komut.ExecuteNonQuery();
baglanti.Close();
frm4.listele();
this.Close();
MessageBox.Show("Güncelleme İşlemi Tamamlandı !");

bunu dene olması lazım.


Bu mesaja 1 cevap geldi.
O
11 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: CatchFire

baglanti.Open(); 
komut.Connection = baglanti;
komut.CommandText = "UPDATE Bilgi SET Bildiren='" + textBox1.Text + "',MusteriAdresi='" + textBox2.Text + "',TelNo='" +maskedTextBox1.Text + "' WHERE ID='" + textBox3.Text + "';";
komut.ExecuteNonQuery();
baglanti.Close();
frm4.listele();
this.Close();
MessageBox.Show("Güncelleme İşlemi Tamamlandı !");

bunu dene olması lazım.

Malesef hocam çalışmadı... Sorunun ne olduğunu hala bilmiyorum ama parametre kullanarak hallettim.


Bu mesaja 1 cevap geldi.
-
11 yıl
Yüzbaşı

komut.CommandText = "UPDATE Bilgi SET Bildiren='" + textBox1.Text + "',MusteriAdresi='" + textBox2.Text + "',TelNo='" + maskedTextBox1.Text + "' WHERE ID='" + textBox3.Text + "'", baglanti; 


şeklinde dene.

yanılmıyorsam bağlantı cümleciğin [baglanti] değişkeninde tutuluyo.

hem tırnaklarda hata yapmışsın hemde bağlantıyı sorguda göstermemişsin


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @onslaught23
O
11 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Tsukinome

komut.CommandText = "UPDATE Bilgi SET Bildiren='" + textBox1.Text + "',MusteriAdresi='" + textBox2.Text + "',TelNo='" + maskedTextBox1.Text + "' WHERE ID='" + textBox3.Text + "'", baglanti; 


şeklinde dene.

yanılmıyorsam bağlantı cümleciğin [baglanti] değişkeninde tutuluyo.

hem tırnaklarda hata yapmışsın hemde bağlantıyı sorguda göstermemişsin

hocam bununla değil de parametreyle hallettim fakat mesela listeden seçiyorum güncelleniyor ve anında datagridviewda da güncelleniyor fakat bir daha güncelleme yapmak istediğimde yapmıyor ancak kapatım açmam lazım yani bu güncellemeyi tek seferlik yapıyor. Şu anki kodlarım şunlar:

baglanti.Open(); 
komut.Connection = baglanti;
komut.CommandText = ("UPDATE Bilgi SET Bildiren=@ad," + "FirmaAdi=@firma"+ "MusteriAdresi=@adres," + "TelNo=@tel," + "MakineModel=@model," + "SeriNo=@serino," + "KurulumTarihi=@kurulum," + "GarantiBaslangic=@baslangic," + "GarantiBitis=@bitis," + "GidenKisi=@giden," + "GidilisTarihi=@gidilis," + "Numarator=@numarator," + "Statu=@statu," + "ServisNedeni=@neden," + "YapilanIslem=@yapilan," + "Sonuc=@sonuc WHERE ID=@id");
komut.Parameters.Add("ad", textBox1.Text);
komut.Parameters.Add("@firma", comboBox3.Text);
komut.Parameters.Add("@adres", textBox2.Text);
komut.Parameters.Add("@tel", maskedTextBox1.Text);
komut.Parameters.Add("@model", textBox4.Text);
komut.Parameters.Add("@serino", textBox5.Text);
komut.Parameters.Add("@kurulum", dateTimePicker2.Value);
komut.Parameters.Add("@baslangic", dateTimePicker1.Value);
komut.Parameters.Add("@bitis", dateTimePicker3.Value);
komut.Parameters.Add("@giden", comboBox1.Text);
komut.Parameters.Add("@gidilis", dateTimePicker4.Value);
komut.Parameters.Add("@numarator", textBox7.Text);
komut.Parameters.Add("@statu", comboBox2.Text);
komut.Parameters.Add("@neden", richTextBox1.Text);
komut.Parameters.Add("@yapilan", richTextBox2.Text);
komut.Parameters.Add("@sonuc", richTextBox3.Text);
komut.Parameters.Add("@id", textBox3.Text);
komut.ExecuteNonQuery();
baglanti.Close();
frm4.listele();
MessageBox.Show("Güncelleme İşlemi Tamamlandı !");
this.Close();





< Bu mesaj bu kişi tarafından değiştirildi onslaught23 -- 4 Temmuz 2014; 15:54:08 >
Bu mesaja 1 cevap geldi.
-
11 yıl
Yüzbaşı

sorunu çözdüysen sorun yok. ama bağlantıyı açıp sonundada kapamana rağmen 2.güncellemeyi yapmaması ilginç.

hata mesajını ekrana yazdırmayı dene bide.

try catch bloğuna al exception nesnesiyle hatayı ekrana yazdır bakalım tam olarak ne hatası veriyor


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @onslaught23
O
11 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Tsukinome

sorunu çözdüysen sorun yok. ama bağlantıyı açıp sonundada kapamana rağmen 2.güncellemeyi yapmaması ilginç.

hata mesajını ekrana yazdırmayı dene bide.

try catch bloğuna al exception nesnesiyle hatayı ekrana yazdır bakalım tam olarak ne hatası veriyor

catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}


böyle yaptım ama program hata da vermiyor ki... Güncellendi diyor ama güncellenmiyor kapatıp açmam gerekiyor 2. seferde


Bu mesaja 1 cevap geldi.
-
11 yıl
Yüzbaşı

programındaki primary key in bulunduğu alanın adı ne? bir de değişken tipini belirtirmisin?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @onslaught23
O
11 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Tsukinome

programındaki primary key in bulunduğu alanın adı ne? bir de değişken tipini belirtirmisin?

Kimlik di ben ID olarak değiştirmiştim. Otomatik sayı...


Bu mesaja 1 cevap geldi.
-
11 yıl
Yüzbaşı

güncelleme kodunda id alanını da mı güncelliyorsun peki? kodunda öyle birşey görüyorum çünkü.

bi de parametrelerin dışında farklı bi yöntemle deneyelim. güncelleme butonunun içini region içine al veya // olarak kapat.

onun yerine oledb nesnesiyle güncelleme yapmaya çalış bakalım aynı sorunu yaşayacak mısın.

bir de ilk satırdaki komut.Parameters.Add("ad", textBox1.Text); ad ın başında @ yok bilgin olsun

-----------------------
edit: örnek olarak;

oledbcommand cn = new oledbcommand("güncelleme sorgusu", baglanti);
int a = cn.executenonquery();

if (a >0)
{ messagebox.show("güncelleme başarılı"); }

else
{ messagebox.show("güncelleme yapılamadı"); }





< Bu mesaj bu kişi tarafından değiştirildi -Tsukuyomi -- 4 Temmuz 2014; 16:56:14 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @onslaught23
O
11 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Tsukinome

güncelleme kodunda id alanını da mı güncelliyorsun peki? kodunda öyle birşey görüyorum çünkü.

bi de parametrelerin dışında farklı bi yöntemle deneyelim. güncelleme butonunun içini region içine al veya // olarak kapat.

onun yerine oledb nesnesiyle güncelleme yapmaya çalış bakalım aynı sorunu yaşayacak mısın.

bir de ilk satırdaki komut.Parameters.Add("ad", textBox1.Text); ad ın başında @ yok bilgin olsun

-----------------------
edit: örnek olarak;

oledbcommand cn = new oledbcommand("güncelleme sorgusu", baglanti);
int a = cn.executenonquery();

if (a >0)
{ messagebox.show("güncelleme başarılı"); }

else
{ messagebox.show("güncelleme yapılamadı"); }

// yaparak kapattım ve örnekteki yaptım

int a = cn.ExecuteNonQuery(); kısmında şu hatayı veriyor çalıştırmak istediğimde;

Gerekli bir veya daha fazla parametre için girilen değer yok.


Bu mesaja 1 cevap geldi.
-
11 yıl
Yüzbaşı

null geçtiğin bir bölümden dolayı hata veriyor. tam olarak kodu da yazarmısın güncellemenin


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @onslaught23
O
11 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Tsukinome

null geçtiğin bir bölümden dolayı hata veriyor. tam olarak kodu da yazarmısın güncellemenin

Parametreleri şöyle düzelterek tüm sorunu ortadan kaldırdım, yardımların için yine de teşekkürler.


komut.parameters.add(...) yerine
komut.parameters.addwithvalue(...) yaptım



-
11 yıl
Yüzbaşı

r.e sorunun çözüldüyse problem yok.



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.