none
c# visual , hata alıyorum RRS feed

  • Soru

  • 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;

    namespace eczsistemi
    {
        public partial class HastaKayit : Form
        {
            public HastaKayit()
            {
                InitializeComponent();
            }

            sqlbaglantisi bgl = new sqlbaglantisi();



            private void BtnEkle_Click(object sender, EventArgs e)
            {
                SqlCommand komut = new SqlCommand("insert info HastaKayit(HastaAd,HastaTelefon,HastaTC,HastaSehir,IlacRaporu,RenkliRecete,Sifre) values (@p1,@p2,@p3,@p4,@p5,@p6,@7)",bgl.baglanti());
                komut.Parameters.AddWithValue("@p1", TxtAdSoyad);
                komut.Parameters.AddWithValue("@p2", TxtTelefon);
                komut.Parameters.AddWithValue("@p3", TxtTC);
                komut.Parameters.AddWithValue("@p4", TxtSehir);
                komut.Parameters.AddWithValue("@p5", TxtIlacRapor);
                komut.Parameters.AddWithValue("@p6", TxtRenkliRecete);
                komut.Parameters.AddWithValue("@p7", TxtSifre);
                komut.ExecuteNonQuery();


                bgl.baglanti().Close();
                MessageBox.Show("Kaydiniz Gerceklesmistir şifreniz :" + TxtSifre.Text, "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
    }

    KODLARIM BU ŞEKİLDE VE BEN AŞAĞIDAKİ HATAYI ALIYORUM ;

    System.ArgumentException
      HResult=0x80070057
      İleti=System.Windows.Forms.TextBox nesne türüyle, bilinen bir yönetilen sağlayıcı yerel türü arasında eşleme yok.
      Kaynak=System.Data
      Bu özel durum özgün olarak bu çağrı yığınında oluşturuldu: 
        [Dış Kod]
        eczsistemi.HastaKayit.BtnEkle_Click(object, System.EventArgs) / HastaKayit.cs
        [Dış Kod]
        eczsistemi.Program.Main() / Program.cs

    LUTFEN YARDIMCI OLUR MUSUNUZ ?

                                   
    2 Eylül 2020 Çarşamba 01:49

Yanıtlar

  • Toparlamak gerekirse kodunuzun son hali bu olacak.

    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;
    
    namespace eczsistemi
    {
        public partial class HastaKayit : Form
        {
            public HastaKayit()
            {
                InitializeComponent();
            }
    
            sqlbaglantisi bgl = new sqlbaglantisi();
    
    
    
            private void BtnEkle_Click(object sender, EventArgs e)
            {
                SqlCommand komut = new SqlCommand("insert info HastaKayit(HastaAd,HastaTelefon,HastaTC,HastaSehir,IlacRaporu,RenkliRecete,Sifre) values (@p1,@p2,@p3,@p4,@p5,@p6,@p7)",bgl.baglanti());
                komut.Parameters.AddWithValue("@p1", TxtAdSoyad.Text);
                komut.Parameters.AddWithValue("@p2", TxtTelefon.Text);
                komut.Parameters.AddWithValue("@p3", TxtTC.Text);
                komut.Parameters.AddWithValue("@p4", TxtSehir.Text);
                komut.Parameters.AddWithValue("@p5", TxtIlacRapor.Text);
                komut.Parameters.AddWithValue("@p6", TxtRenkliRecete.Text);
                komut.Parameters.AddWithValue("@p7", TxtSifre.Text);
                komut.ExecuteNonQuery();
    
    
                bgl.baglanti().Close();
                MessageBox.Show("Kaydiniz Gerceklesmistir şifreniz :" + TxtSifre.Text, "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
    }


    Sorunuzun yanıtı bu ise "Yanıt Olarak Öner" olarak işaretleyin, eğer faydalı bir yorum ise "Oy Ver"erek forumun işleyişine katkıda bulunabilirsiniz

    2 Eylül 2020 Çarşamba 07:56

Tüm Yanıtlar

  • .Text eklememişsiniz sanırım. aşağıdaki kodu kullanınız

         komut.Parameters.AddWithValue("@p1", TxtAdSoyad.Text);
                komut.Parameters.AddWithValue("@p2", TxtTelefon.Text);
                komut.Parameters.AddWithValue("@p3", TxtTC.Text);
                komut.Parameters.AddWithValue("@p4", TxtSehir.Text);
                komut.Parameters.AddWithValue("@p5", TxtIlacRapor.Text);
                komut.Parameters.AddWithValue("@p6", TxtRenkliRecete.Text);
                komut.Parameters.AddWithValue("@p7", TxtSifre.Text);


    Sorunuzun yanıtı bu ise "Yanıt Olarak Öner" olarak işaretleyin, eğer faydalı bir yorum ise "Oy Ver" e tıklayarak forumun işleyişine katkıda bulunabilirsiniz


    2 Eylül 2020 Çarşamba 04:59
  • @7

    p si eksik.


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    2 Eylül 2020 Çarşamba 06:09
    Moderatör
  • Toparlamak gerekirse kodunuzun son hali bu olacak.

    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;
    
    namespace eczsistemi
    {
        public partial class HastaKayit : Form
        {
            public HastaKayit()
            {
                InitializeComponent();
            }
    
            sqlbaglantisi bgl = new sqlbaglantisi();
    
    
    
            private void BtnEkle_Click(object sender, EventArgs e)
            {
                SqlCommand komut = new SqlCommand("insert info HastaKayit(HastaAd,HastaTelefon,HastaTC,HastaSehir,IlacRaporu,RenkliRecete,Sifre) values (@p1,@p2,@p3,@p4,@p5,@p6,@p7)",bgl.baglanti());
                komut.Parameters.AddWithValue("@p1", TxtAdSoyad.Text);
                komut.Parameters.AddWithValue("@p2", TxtTelefon.Text);
                komut.Parameters.AddWithValue("@p3", TxtTC.Text);
                komut.Parameters.AddWithValue("@p4", TxtSehir.Text);
                komut.Parameters.AddWithValue("@p5", TxtIlacRapor.Text);
                komut.Parameters.AddWithValue("@p6", TxtRenkliRecete.Text);
                komut.Parameters.AddWithValue("@p7", TxtSifre.Text);
                komut.ExecuteNonQuery();
    
    
                bgl.baglanti().Close();
                MessageBox.Show("Kaydiniz Gerceklesmistir şifreniz :" + TxtSifre.Text, "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
    }


    Sorunuzun yanıtı bu ise "Yanıt Olarak Öner" olarak işaretleyin, eğer faydalı bir yorum ise "Oy Ver"erek forumun işleyişine katkıda bulunabilirsiniz

    2 Eylül 2020 Çarşamba 07:56
  • Goy goycu geldi.

    "bgl" gibi genel bir bağlantı nesnesi önerilmez. Her ayrık işlemde yeni bir bağlantı açın, komutu gönderin ve bağlantıyı kapatıp çıkın.

    Diğer önerilmeyen şey ise düğmenin arkasında veri tabanı işleri yapmaktır. 


    www.cihanyakar.com

    • Yanıt Olarak Öneren CetinBasoz 2 Eylül 2020 Çarşamba 13:17
    2 Eylül 2020 Çarşamba 08:21
    Moderatör
  • üzgünüm sorun hala devam ediyor ...
    2 Eylül 2020 Çarşamba 10:34
  • üzgünüm sorun hala devam ediyor ...
    2 Eylül 2020 Çarşamba 10:34
  • üzgünüm sorun hala devam ediyor ...
    Hata mesajı değişmiş olabilir. Yeni kodlarınızı ve yeni aldığınız hata mesajını paylaşınız.

    www.cihanyakar.com

    2 Eylül 2020 Çarşamba 10:50
    Moderatör
  • Yeni hata kodunu ve visual studionun hangi satırda hata verdiğini de paylaşır mısın

    AYRICA :

    sqlbaglantisi() nesnesini içeriğini de verir misiniz. bağlantı açma ve kapama problemi yaşıyor olabilirsiniz.


    Sorunuzun yanıtı bu ise "Yanıt Olarak Öner" olarak işaretleyin, eğer faydalı bir yorum ise "Oy Ver"erek forumun işleyişine katkıda bulunabilirsiniz


    2 Eylül 2020 Çarşamba 11:01
  • 1) TxtAdSoyad, TxtTelefon ... hep bir TextBox nesnesi. Onlarin .Text propertysine ihtiyaciniz var.

    2) AddWithValue kullanmayiniz, Add kullaniniz.

    3) Goygoycuyu mutlaka dinleyiniz. Ozellikle o bgl garabetinin kullanmayiniz. Kodunuzda onun ne oldugu, ne is yaptigi hic belli degil.


    4) Bu haliyle SQL cumleniz hatali. 

    Bu haliyle, suna benzer bir kod olabilirdi (hepsi gercekten string mi? Sanki renkliRecete bit gibi duruyor ama siz bilirsiniz) - SqlConnection icine connection stringinizin yazilmasi gerekiyor. Saklayacaksiniz onu saklayin, bgl gibi bir seyi degil:

    private void BtnEkle_Click(object sender, EventArgs e)
    {
    	using (SqlConnection cn = new SqlConnection(@"server=..."))
    	using (SqlCommand komut = new SqlCommand(@"insert into HastaKayit
    	   (HastaAd,HastaTelefon,HastaTC,HastaSehir,IlacRaporu,RenkliRecete,Sifre) 
    	   values 
    	   (@p1,@p2,@p3,@p4,@p5,@p6,@p7)", cn))
    	{   
    		
    	komut.Parameters.Add("@p1", SqlDbType.VarChar).Value = TxtAdSoyad.Text;
    	komut.Parameters.Add("@p2", SqlDbType.VarChar).Value = TxtTelefon.Text;
    	komut.Parameters.Add("@p3", SqlDbType.VarChar).Value = TxtTC.Text;
    	komut.Parameters.Add("@p4", SqlDbType.VarChar).Value = TxtSehir.Text;
    	komut.Parameters.Add("@p5", SqlDbType.VarChar).Value = TxtIlacRapor.Text;
    	komut.Parameters.Add("@p6", SqlDbType.VarChar).Value = TxtRenkliRecete.Text;
    	komut.Parameters.Add("@p7", SqlDbType.VarChar).Value = TxtSifre.Text;
    	
    	cn.Open();
    	komut.ExecuteNonQuery();
    	cn.Close();
    } MessageBox.Show("Kaydiniz Gerceklesmistir şifreniz :" + TxtSifre.Text, "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information); }



    Blog
    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.


    Not: Temelin geri zekali arkadasi Idris bu mesaja da atlayip ne kadar aptal oldugunu bir kez daha belgeleyebilir. Kendisinin tek marifeti beni takip edip, neden her soruya cevap verdigimi, yardim etmeye calistigimi sorgulamaktir. Bu beyinsiz zavalliya, aptal oldugunu hatirlatmayi unutmayiniz.




    • Düzenleyen CetinBasoz 2 Eylül 2020 Çarşamba 13:32
    2 Eylül 2020 Çarşamba 13:28
  • HEPINIZE TESEKKUR EDERIM SORUN COZULDU.
    2 Eylül 2020 Çarşamba 20:36