Jump to content

C# Yardım


Maddox67
 Share

Recommended Posts

Merhabalar Arkadaşlar 

C# de yeni yeni bişiyler öğrenmek istiyorum.

Yalnız yaptğım bir çalışmada "System.Data.OleDb.OleDbException: 'Ölçüt ifadesinde veri türü uyuşmazlığı.'" hatası alıyorum.

Bilgisi olan yardım edebilirse sevinirim.

İyi forumlar. 

 

   private void btnkaydet_Click(object sender, EventArgs e)
        {
            baglanti.Open();
            OleDbCommand komut = new OleDbCommand("insert into [Sayfa1$] (DosyaNumarasi,FirmaAdi,TeminatTarihi,TeminatinCinsi) values (@p1,@p2,@p3,@p4)", baglanti);
           

            komut.Parameters.AddWithValue("@p1", TxtDosya.Text);
            komut.Parameters.AddWithValue("@p2",TxtFirma.Text);
            komut.Parameters.AddWithValue("@p3", TxtTarih.Text);
            komut.Parameters.AddWithValue("@p4", TxtTuru.Text);
            komut.ExecuteNonQuery();
            baglanti.Close();

            MessageBox.Show("Teminat Sisteme Kaydedildi." + Environment.NewLine + "Lütfen Kontrol ederek işlemler yapınız", "Sistem Uyarısı", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            Veriler();

 

Link to comment
Share on other sites

Maddox67, 7 saat önce yazdı:

Merhabalar Arkadaşlar 

C# de yeni yeni bişiyler öğrenmek istiyorum.

Yalnız yaptğım bir çalışmada "System.Data.OleDb.OleDbException: 'Ölçüt ifadesinde veri türü uyuşmazlığı.'" hatası alıyorum.

Bilgisi olan yardım edebilirse sevinirim.

İyi forumlar. 

 

   private void btnkaydet_Click(object sender, EventArgs e)
        {
            baglanti.Open();
            OleDbCommand komut = new OleDbCommand("insert into [Sayfa1$] (DosyaNumarasi,FirmaAdi,TeminatTarihi,TeminatinCinsi) values (@p1,@p2,@p3,@p4)", baglanti);
           

            komut.Parameters.AddWithValue("@p1", TxtDosya.Text);
            komut.Parameters.AddWithValue("@p2",TxtFirma.Text);
            komut.Parameters.AddWithValue("@p3", TxtTarih.Text);
            komut.Parameters.AddWithValue("@p4", TxtTuru.Text);
            komut.ExecuteNonQuery();
            baglanti.Close();

            MessageBox.Show("Teminat Sisteme Kaydedildi." + Environment.NewLine + "Lütfen Kontrol ederek işlemler yapınız", "Sistem Uyarısı", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            Veriler();

 

Uzun süredir C# ile uğraşmıyorum. Ancak "TxtTarih.Text" de sorun olabileceğini düşünüyorum. Database'ndeki tarih formatı ile "TxtTarih.Text" uyumsuzluk oluşturmaktadır. Hatırladığım kadarıyla Gün/Ay/Yıl değilde Ay/Gün/Yıl şeklinde dönüştürebilirsin. 

Link to comment
Share on other sites

VisuaLNET, 10 saat önce yazdı:

Uzun süredir C# ile uğraşmıyorum. Ancak "TxtTarih.Text" de sorun olabileceğini düşünüyorum. Database'ndeki tarih formatı ile "TxtTarih.Text" uyumsuzluk oluşturmaktadır. Hatırladığım kadarıyla Gün/Ay/Yıl değilde Ay/Gün/Yıl şeklinde dönüştürebilirsin. 

Aslında TxtTarih.Text sadece bir textbox dı. 

datetime falan değil uyumsuzluk olacağını düşündüğünüz yer TxtTarih.Text değerini string değerine mi dönüştürüp yazdırmam gerekiyor ?

Yanlış mı anladım :D 

Link to comment
Share on other sites

textbox içinden alınan verilerle veri tabanında tanımlanan "(DosyaNumarasi,FirmaAdi,TeminatTarihi,TeminatinCinsi)" değişkenlerinin birisinin veya birden fazlasının veya hepsinin veri tipi uyuşmuyor

tahminimce textbox içinden gelen veriler string olarak alınıyor sizin de bu gelen verileri uygun tipe dönüştürmeniz gerek. örneğin "DosyaNumarasi" integer veri kabul ediyor, siz de "@p1" 'i string olarak alıyorsanız tip uyuşmazlığından hata alırsınız.

veri tabanındaki değişkenlerin türüne göre tip dönüşümünü yaparsanız sorun çözülür

iyi çalışmalar

  • Thanks 1
Link to comment
Share on other sites

Maddox67, 8 saat önce yazdı:

Aslında TxtTarih.Text sadece bir textbox dı. 

datetime falan değil uyumsuzluk olacağını düşündüğünüz yer TxtTarih.Text değerini string değerine mi dönüştürüp yazdırmam gerekiyor ?

Yanlış mı anladım :D 

Textbox olduğu için 22.11.2021 şeklindedir. Ancak datebase de bu 11.22.2021 gibi birşey olabilir. Yani TheRifleman'ın dediği gibi "veri tabanındaki değişkenlerin türüne göre tip dönüşümünü yaparsanız sorun çözülür". İyi çalışmalar.

Edited by VisuaLNET
Link to comment
Share on other sites

Maddox67, 19 dakika önce yazdı:

@TheRifleman

@VisuaLNET

amacım aynen exceldeki gibi buraya aktarmak teminat ekle için kodlar yukarıdaki gibi 

Nere de hata yapıyorum anlayamadım bir türlü 

 

 

Please register to see this content.

Demek istediğim;

string t1 = txtTarih.ToString("yyyy") + "-" + txtTarih.ToString("MM") + "-" + txtTarih.ToString("dd");
return t1;

gibi birşey yapman. Textbox'a yazdığın tarihi veritabanındaki tipe dönüştürmen lazım.  Textbox'ta 22.11.2021 yazıyorsa bunu veritabanındaki tipe dönüştürerek 2021-11-22 gibi yada saati de eklemen gerekiyor. 

Link to comment
Share on other sites

By_FaRuK, 9 saat önce yazdı:

Tarih alanını neden datetimepicker değilde textbox kullanıyorsun? Veritabanındaki veri tipin neyse ona uygun veri tipi ile değer göndermem lazım. Aksi taktirde bu tarz hatalarla karşılaşırsın.

Yeniyiz :D ondan datetimepicker  kullanmadım o derslere daha gelmedik :D 

Link to comment
Share on other sites

Maddox67, 14 saat önce yazdı:

@TheRifleman

@VisuaLNET

amacım aynen exceldeki gibi buraya aktarmak teminat ekle için kodlar yukarıdaki gibi 

Nere de hata yapıyorum anlayamadım bir türlü 

 

 

Please register to see this content.

veri tabanı içindeki "DosyaNumarasi","FirmaAdi,"TeminatTarihi","TeminatinCinsi" değişkenlerinin tipini kontrol edin. Exceldeki veriniz göründüğü kadarıyla string tipinde. String tipindeki verileri varchar olarak veri tabanına ekleyebilirsiniz. Bunları kontrol edin.

VisuaLNET arkadaşımızın da dediği gibi tarihte problem olabilir. By_FaRuK arkadaşımızın dediği gibi DateTimePicker kullanabilirsiniz.

  • Thanks 1
Link to comment
Share on other sites

@TheRifleman @By_FaRuK @VisuaLNET

Merhabalar ;

Dediğiniz gibi yaptım ancak bu seferde dataGridWiew de daha önce yer alan eklenen satırları sonradan bir kez daha ekleme yapıyor.

Ekle ve sil butonuna ait kodları ve programın ekran görüntüsünü aşağıda paylaştım yardımcı olursanız çok teşekkür ederim.

 

 {
            baglanti.Open();
            OleDbCommand komut = new OleDbCommand("insert into teminatlar (DosyaAd,FirmaAd,teminatTarih,TeminatİadeTarih) values ('" + textBox1.Text + "','" + textBox2.Text + "','" + dateTimePicker1.Value + "','" + dateTimePicker2.Value + "')", baglanti);
            komut.ExecuteNonQuery();
            baglanti.Close();
            MessageBox.Show("Teminatınız sisteme kaydedildi.","Sistem Uyarısı",MessageBoxButtons.OK,MessageBoxIcon.Information);
            listele();

            for (int i = 0; i < Controls.Count; i++)
            {
                if (Controls[i] is TextBox)
                {
                    Controls[i].Text = "";

                }

            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            
                baglanti.Open();
                OleDbCommand komut = new OleDbCommand ("delete *from teminatlar where DosyaAd='" +dataGridView1.CurrentRow.Cells["DosyaAd"].Value.ToString()+"' and FirmaAd='" + dataGridView1.CurrentRow.Cells["FirmaAd"].Value.ToString() + "'", baglanti);
                komut.ExecuteNonQuery();
                baglanti.Close();
                MessageBox.Show("Teminatınız sistemden silindi.", "Sistem Uyarısı", MessageBoxButtons.OK, MessageBoxIcon.Information);
                tablo.Clear();
                listele();
            
        }

 

Please register to see this content.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...