Şimdi Ara

c# Access Update Çalışmıyor 2 gündür uğraşıyorum

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
15
Cevap
0
Favori
3.048
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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ı !");



  • 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ı >
  • 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.
  • 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.
  • onslaught23 kullanıcısına yanıt
    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
  • 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 >




  • onslaught23 kullanıcısına yanıt
    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
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • 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
  • onslaught23 kullanıcısına yanıt
    programındaki primary key in bulunduğu alanın adı ne? bir de değişken tipini belirtirmisin?
  • 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ı...
  • onslaught23 kullanıcısına yanıt
    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 >
  • 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.




  • onslaught23 kullanıcısına yanıt
    null geçtiğin bir bölümden dolayı hata veriyor. tam olarak kodu da yazarmısın güncellemenin
  • 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
  • r.e sorunun çözüldüyse problem yok.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.