Soru & Cevap

Error Converting data type nvarchar to numeric

08.06.2020 - 05:00

Error Converting data type nvarchar to numeric hatası alıyorum lütfen yardım

Bu benim frmSatis dosyasındaki Kodum.

Yukarıdaki Hatayı Private void sepetEkle kısmındaki catch ın içindeki messagebox ile alıyorum ne yapabilirim?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using NotificationsExtensions.Toasts;
using Microsoft.QueryStringDotNET;

namespace MarkePro_V3._0
{
    public partial class frmSatis : Form
    {
        public frmSatis()
        {
            InitializeComponent();
        }
        SqlConnection baglanti = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=MarkePro V3.0;Integrated Security=True");
        DataSet daset = new DataSet();
        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }

        private void label1_Click(object sender, EventArgs e)
        {

        }



 








        private void button2_Click(object sender, EventArgs e)
        {
            UrunStok urunStok = new UrunStok();
            urunStok.Show();
        }

        private void frmSatis_Load(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
            {
                txtAdet.Text = "1";
                topfiyat.Text = "";
                ad.Text = "";
                fiyat.Text = "";
            }
            try
            {
                if (baglanti.State == ConnectionState.Closed)
                {
                    baglanti.Open();
                }

                SqlCommand komut = new SqlCommand("delete from sepet", baglanti);
                komut.ExecuteNonQuery();
                SqlCommand komutt = new SqlCommand("delete from hizliurun", baglanti);
                komutt.ExecuteNonQuery();
                baglanti.Close();
                SepetListele();
                hizliUrunlistele();
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message, "loadhatası");
            }
            
        }
        private void hizliUrunlistele()
        {
            try
            {
                if (baglanti.State == ConnectionState.Closed)
                {
                    baglanti.Open();
                }
                SqlDataAdapter adtr = new SqlDataAdapter("select *from hizliurun", baglanti);
                adtr.Fill(daset, "hizliurun");
                dataGridView2.DataSource = daset.Tables["hizliurun"];
                dataGridView2.Columns[4].Visible = false;
                baglanti.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "hizliurunhatası");
            }
        }
        private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {

        }
        private void SepetListele()
        {  
            try
            {
                if (baglanti.State == ConnectionState.Closed)
                {
                    baglanti.Open();
                }
                SqlDataAdapter adtr = new SqlDataAdapter("select *from sepet", baglanti);
                adtr.Fill(daset, "sepet");
                dataGridView1.DataSource = daset.Tables["sepet"];
                dataGridView1.Columns[4].Visible = false;
                baglanti.Close();
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message,"sepetlistelehatası");
            }

        }
        private void txtAdet_TextChanged(object sender, EventArgs e)
        {
            try
            {
                topfiyat.Text = (double.Parse(txtAdet.Text) * double.Parse(fiyat.Text)) .ToString();

            }
            catch (Exception)
            {
                ;
            }
        }
        private void spt_Click(object sender, EventArgs e)
        {
            sepetEkle();
        }
        bool durum;
        private void barkodkontrol()
        {
            try
            {
                durum = true;
                if (baglanti.State == ConnectionState.Closed)
                {
                    baglanti.Open();
                }
                SqlCommand komut = new SqlCommand("select *from sepet", baglanti);
                SqlDataReader oku = komut.ExecuteReader();
                while (oku.Read())
                {
                    if (textBox1.Text == oku["barkod"].ToString())
                    {
                        durum = false;
                    }
                }
                baglanti.Close();
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message,"Barkod Kontrol Hatası");
                    }
        }

        private void sepetEkle()
        {
            try
            {
                barkodkontrol();
                if (durum == true)
                {

                    if (baglanti.State == ConnectionState.Closed)
                    {
                        baglanti.Open();
                    }

                    SqlCommand ekle = new SqlCommand("insert into sepet(barkod,urunadi,miktari,fiyati,tarihsaat,toplamfiyati) values(@barkod,@urunadi,@miktari,@fiyati,@tarihsaat,@toplamfiyati)", baglanti);

                    ekle.Parameters.AddWithValue("@urunadi", ad.Text);
                    ekle.Parameters.AddWithValue("@barkod", textBox1.Text.ToString());
                    ekle.Parameters.AddWithValue("@miktari", int.Parse(txtAdet.Text).ToString());
                    ekle.Parameters.AddWithValue("@fiyati", double.Parse(fiyat.Text).ToString());
                    ekle.Parameters.AddWithValue("@tarihsaat", DateTime.Now.ToString());
                    ekle.Parameters.AddWithValue("@toplamfiyati", double.Parse(topfiyat.Text).ToString());
                    ekle.ExecuteNonQuery();
                    baglanti.Close();

                }



                else
                {
                    baglanti.Open();

                    SqlCommand ekle2 = new SqlCommand("update sepet set miktari=miktari+'" + int.Parse(txtAdet.Text) + "'where barkod='" + textBox1.Text + "'", baglanti);
                    ekle2.ExecuteNonQuery();

                    SqlCommand ekle3 = new SqlCommand("update sepet set toplamfiyati=miktari*fiyati where barkod='" + textBox1.Text + "'", baglanti);

                    ekle3.ExecuteNonQuery();
                    baglanti.Close();
                }


                hesapla();
                daset.Tables["sepet"].Clear();
                SepetListele();
                textBox1.Text = "";

                if (textBox1.Text == "")
                {
                    txtAdet.Text = "1";
                    topfiyat.Text = "";
                    ad.Text = "";
                    fiyat.Text = "";
                }
            }
catch(Exception ex)
            {
                MessageBox.Show(ex.Message, "Ürün Sepete Eklenemiyor");
            }
            
        }



        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            topfiyat.Text = "";
                ad.Text = "";
                fiyat.Text = "";
            if (textBox1.Text == "")
            {
                txtAdet.Text = "1";
                
            }

                if (baglanti.State == ConnectionState.Closed) { 
                baglanti.Open();
            }
            try { 
                SqlCommand komut = new SqlCommand("select *from urun where barkod like'" + textBox1.Text + "'", baglanti);
                SqlDataReader read = komut.ExecuteReader();
                while (read.Read())
                {
                    fiyat.Text = read["fiyati"].ToString();
                    ad.Text = read["urunadi"].ToString();
                }
                baglanti.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Barkodalan hatası");
            }


        }
        private void hata_404Urun()
        {
            MessageBox.Show("Ürün Bulunamadı!");
        }

        private void Fiyat_TextChanged(object sender, EventArgs e)
        {
            try
            {
                topfiyat.Text = (double.Parse(txtAdet.Text) * double.Parse(fiyat.Text)).ToString();

            }
            catch (Exception)
            {
                ;
            }
        }

        private void off_Click(object sender, EventArgs e)
        {

            
            
        }



        private void button5_Click(object sender, EventArgs e)
        {
            try
            {
                baglanti.Open();
                SqlCommand komut = new SqlCommand("delete from sepet where barkod='" + dataGridView1.CurrentRow.Cells["barkod"].Value.ToString() + "'", baglanti);
                komut.ExecuteNonQuery();
                baglanti.Close();
                daset.Tables["sepet"].Clear();
                SepetListele();
                hesapla();
            }
            catch (Exception)
            {
                ;
            }

        }

        private void btnrap_Click(object sender, EventArgs e)
        {
            frmRapor rap = new frmRapor();
            rap.Show();
        }
        private void hesapla()
        {
            try
            {
                baglanti.Open();
                SqlCommand komut = new SqlCommand("select sum(toplamfiyati) from sepet",baglanti);
                gostergeFiyat.Text = komut.ExecuteScalar()+"";
                baglanti.Close();

            }
            catch (Exception)
            {
                ;
            }
        }

        private void btnOrderCancel_Click(object sender, EventArgs e)
        {
            if (baglanti.State == ConnectionState.Closed)
            {
                baglanti.Open();
            }
            SqlCommand komut = new SqlCommand("delete from sepet",baglanti);
            komut.ExecuteNonQuery();
            baglanti.Close();
            MessageBox.Show("Satış İptal Edildi");
            daset.Tables["sepet"].Clear();
            SepetListele();
            hesapla();
        }
        //-------------------------Satış Butonları-------------------
        private void btnOrderNakit_Click(object sender, EventArgs e)
        {
            
                if (baglanti.State == ConnectionState.Closed)
                {
                    baglanti.Open();
                }
                for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
                {

                    SqlCommand ekle = new SqlCommand("insert into satis(barkod,urunadi,miktari,fiyati,tarihsaat,Odeme turu) values(@barkod,@urunadi,@miktari,@fiyati,@tarihsaat,@Odeme turu)", baglanti);

                    ekle.Parameters.AddWithValue("@urunadi", dataGridView1.Rows[i].Cells["urunadi"].Value);
                    ekle.Parameters.AddWithValue("@barkod", dataGridView1.Rows[i].Cells["barkod"].Value.ToString());
                    ekle.Parameters.AddWithValue("@miktari", int.Parse(dataGridView1.Rows[i].Cells["miktari"].Value.ToString()));
                    ekle.Parameters.AddWithValue("@fiyati", double.Parse(dataGridView1.Rows[i].Cells["toplamfiyati"].Value.ToString()));
                    ekle.Parameters.AddWithValue("@tarihsaat", DateTime.Now.ToString());
                    ekle.Parameters.AddWithValue("@Odeme turu", "Pos");
                    ekle.ExecuteNonQuery();
                    baglanti.Close();
                }
           
        }

        private void btnOrderPos_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
            {
                if (baglanti.State == ConnectionState.Closed)
                {
                    baglanti.Open();
                }
                SqlCommand ekle = new SqlCommand("insert into satis(barkod,urunadi,miktari,fiyati,tarihsaat,Odeme turu) values(@barkod,@urunadi,@miktari,@fiyati,@tarihsaat,@Odeme turu)", baglanti);

                ekle.Parameters.AddWithValue("@urunadi", dataGridView1.Rows[i].Cells["urunadi"].Value.ToString());
                ekle.Parameters.AddWithValue("@barkod", dataGridView1.Rows[i].Cells["barkod"].Value.ToString());
                ekle.Parameters.AddWithValue("@miktari", int.Parse(dataGridView1.Rows[i].Cells["miktari"].Value.ToString()));
                ekle.Parameters.AddWithValue("@fiyati", double.Parse(dataGridView1.Rows[i].Cells["toplamfiyati"].Value.ToString()));
                ekle.Parameters.AddWithValue("@tarihsaat", DateTime.Now.ToString());
                ekle.Parameters.AddWithValue("@Odeme turu", "Pos");
                ekle.ExecuteNonQuery();
                baglanti.Close();
            }
            }
        

        private void btnOdemeYok_Click(object sender, EventArgs e)
        {
        for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
        {
            if (baglanti.State == ConnectionState.Closed)
            {
                baglanti.Open();
            }
            SqlCommand ekle = new SqlCommand("insert into satis(barkod,urunadi,miktari,fiyati,tarihsaat,Odeme turu) values(@barkod,@urunadi,@miktari,@fiyati,@tarihsaat,@Odeme turu)", baglanti);

            ekle.Parameters.AddWithValue("@urunadi", dataGridView1.Rows[i].Cells["urunadi"].Value.ToString());
            ekle.Parameters.AddWithValue("@barkod", dataGridView1.Rows[i].Cells["barkod"].Value.ToString());
            ekle.Parameters.AddWithValue("@miktari", int.Parse(dataGridView1.Rows[i].Cells["miktari"].Value.ToString()));
            ekle.Parameters.AddWithValue("@fiyati", double.Parse(dataGridView1.Rows[i].Cells["toplamfiyati"].Value.ToString()));
            ekle.Parameters.AddWithValue("@tarihsaat", DateTime.Now.ToString());
            ekle.Parameters.AddWithValue("@Odeme turu", "Odeme Yok");
            ekle.ExecuteNonQuery();
            baglanti.Close();
        }
    }

        private void dataGridView2_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            textBox1.Text = dataGridView2.CurrentRow.Cells["barkod"].Value.ToString();
           
        }
    }
}

 

1,047 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user abdullah.tnrkl
abdullah.tnrkl
08.06.2020 - 07:12

"Error Converting data type nvarchar to numeric "  Bu hata dönüştürmek istediğin değişken tiplerinden kaynaklı veriyor muhtemelen birbirine dönüştürmek istediğin veri tipleri uyuşmuyor yada doğru eklentileri kullanmıyorsun. hatanın kaçıncı satırda olduğunu da yazarsan yardımcı olabilirim.

 

Haktan Kerem TEMUR
08.06.2020 - 07:43
224. Satırdaki ex.Message ile hata kullanıcıya ifade ediliyor