none
C# Temel aldığı RCW'den ayrılmış COM nesnesi kullanılamaz Hatası RRS feed

  • Soru

  • Merhaba;

    Veritabanı ve siparis adında iki classım var.

    veritabanı class ı içinde alttaki kod var.

    İstediğim bilgileri bu list içene alıyorum

     public List<Siparis> Listele()
            {
    
                try
                {
                    List<Siparis> siparisListesi = new List<Siparis>();
                    komut.CommandText = "Select * From tbl_data where siparis_durumu='AÇIK' ORDER BY id desc";
                    baglanti.Open();
                    OleDbDataReader dr = komut.ExecuteReader();
                    while (dr.Read())
                    {
                        Siparis sip = new Siparis();
                        sip.Id = Convert.ToInt32(dr[0].ToString());
                        sip.BanfTarihi = dr[1].ToString();
                        sip.TalepNo = dr[3].ToString();
                        sip.SiparisNo = dr[4].ToString();
                        sip.AnaMasrafCesidi = dr[5].ToString();
                        sip.TipNo = dr[6].ToString();
                        sip.PmNo = dr[7].ToString();
                        sip.OlcumEkipNo = dr[8].ToString();
                        sip.Adet = Convert.ToInt32(dr[9]);
                        sip.Fiyat = Convert.ToDecimal(dr[10].ToString());
                        sip.ParaBirim = dr[11].ToString();
                        sip.Termin = (dr[12].ToString());
                        sip.Firma = dr[13].ToString();
                        sip.SipDurum = dr[14].ToString();
                        sip.Statu = dr[15].ToString();
                        sip.BuP2TeslimTarihi = dr[16].ToString() ;
                        sip.AhpSisGirisTarihi = dr[18].ToString();
                        sip.SipDurum2 = dr[19].ToString();
                        sip.ImalatTeslimDurum = dr[20].ToString();
                        siparisListesi.Add(sip);
                    }
    
                    return siparisListesi;

    Aldığım verileri Form tarafında aşağıdaki kod ile işleme alıyorum. 

    void Listele() //Datagrid listeleme işlemi için metod 
            {
                dataGridView1.DataSource = vt.Listele();
            }

    Hiç bir sıkıntı olmadan dataGrid içine verileri alıyorum. Program çalıştığında dataGrid çok yavaş ve donarak çalışıyor. bunun sebebi ne olabilir.

    Daha öncesinde aynı verileri listbox a aldığımda hiç bir takılma donma yaşamadım.

    Şimdi yine listbox a almak istiyorum nasıl yapmalıyım.

    Not: 

    Daha önceki denememde class düzeyinde bir kodlama yapmamıştım. Tüm kodlarım butonların altındaydı. 

    Class mantığını öğrenmeye çalışıyorum burada takıldım. Yardımcı olursanız sevinirim.


    • Düzenleyen icemeno__ 15 Ocak 2020 Çarşamba 09:59
    10 Ocak 2020 Cuma 06:56

Yanıtlar

  • Merhaba;

    Veritabanı clas ındaki listele metoduna aşağıdaki eklemeyi yapınca problem çözüldü.

    public List<Siparis> Listele() {

    komut = new OleDbCommand();
                komut.Connection = baglanti; List<Siparis> siparisListesi = new List<Siparis>(); try { if (Convert.ToString(sipDurum.Durum) == "AÇIK")

    • Yanıt Olarak İşaretleyen icemeno__ 15 Ocak 2020 Çarşamba 10:01
    15 Ocak 2020 Çarşamba 10:01

Tüm Yanıtlar

  • Bir classtaki kodu başka classa almaktan öte bişey olmamış bu.


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

    10 Ocak 2020 Cuma 07:07
    Moderatör
  • Doğrusu nasıl olmalı @Önay abi. Nasıl bir yol izlemeliyim.

    10 Ocak 2020 Cuma 07:44
  • Önce modelii oluşturmalısın. Yoksa yukarıda yaptığın işi Ado.Net ya da EF zaten yapıyor. Mesela;

    public class Sipariş
    {
       public int Id { get; set; }
       public int MüşteriId { get; set; }
       public DateTime Tarih { get; set; }
       public bool Durum { get; set; }
    
       public virtual ICollection<SiparişDetay> SiparişDetayar { get; set; } = new HashSet<SiparişDetay>();
      
    }
    public class SiparişDetay
    {
       public int Id { get; set; }
       public int SiparişId { get; set; }
       public int StokId { get; set; }
       public int Miktar { get; set; }
    
       public virtual Sipariş Sipariş { get; set; } 
    }


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


    10 Ocak 2020 Cuma 11:22
    Moderatör
  • Veritabani Class bu şekilde

    using System;
    using System.Collections.Generic;
    using System.Data.OleDb;
    using System.Windows.Forms;
    
    namespace QMM_Siparis
    {
        class VeriTabani
        {
            OleDbConnection baglanti;
            OleDbCommand komut;
        
            public VeriTabani() //Kurucu metot
            {
                Baglan();
            }
            public void Baglan()
            {
                baglanti = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=U:\\c#_dosyalar\\bin\\Debug\\siparis.mdb");
                komut = new OleDbCommand();
                komut.Connection = baglanti;
            }
    
            public List<Siparis> Listele()
            {
                List<Siparis> siparisListesi = new List<Siparis>();
                try
                {
                    if (Convert.ToString(sipDurum.Durum) == "AÇIK")
    
                    {
                        komut.CommandText = "Select * From tbl_data where siparis_durumu='AÇIK' ORDER BY id desc";
                    }
                    else if (Convert.ToString(sipDurum.Durum) == "KAPALI")
                    {
                        komut.CommandText = "Select * From tbl_data where siparis_durumu='KAPALI' ORDER BY id desc";
                    }
                    else
                    {
                        komut.CommandText = "Select * From tbl_data  ORDER BY id desc";
                    }
    
                    baglanti.Open();
                    OleDbDataReader dr = komut.ExecuteReader();
                    while (dr.Read())
                    {
                        Siparis sip = new Siparis();
                        sip.Id = Convert.ToInt32(dr[0].ToString());
                        sip.BanfTarihi = Convert.ToDateTime(dr[1].ToString());
                        sip.TalepNo = dr[2].ToString();
                        sip.SiparisNo = dr[3].ToString();
                        sip.AnaMasrafCesidi = dr[4].ToString();
                        sip.TipNo = dr[5].ToString();
                        sip.PmNo = dr[6].ToString();
                        sip.OlcumEkipTanim = dr[7].ToString();
                        sip.Adet = Convert.ToInt32(dr[8]);
                        sip.Fiyat = Convert.ToDecimal(dr[9].ToString());
                        sip.ParaBirim = dr[10].ToString();
                        sip.Termin = Convert.ToDateTime(dr[11].ToString());
                        sip.Firma = dr[12].ToString();
                        sip.SipDurum = dr[13].ToString();
                        sip.Statu = dr[14].ToString();
                     
    				 siparisListesi.Add(sip);
                    }
                    baglanti.Close();
                    return siparisListesi;
                }
    
    
                catch (Exception ex1)
                {
                    MessageBox.Show(ex1.Message);
                    throw;
                }
                finally
                {
                    if (baglanti != null)
                    {
    
                        baglanti.Close();
                    }
                }
            }
    
    public void Ekle(Siparis sip)
            {
                try
                {
                   
                    OleDbCommand komut = new OleDbCommand("insert into tbl_data (banf_tarihi,talep_no,siparis_no,ana_masraf_cesidi,tip_no,pm_no,olcum_ekipmani_tanimi,adet,fiyat,para_birimi,termin,firma,siparis_durumu,statu) values( @banf_tarihi,@talep_no,@siparis_no,@ana_masraf_cesidi,@tip_no,@pm_no,@olcum_ekipmani_tanimi,@adet,@fiyat,@para_birimi,@termin,@firma,@siparis_durumu,@statu)", baglanti);
                    baglanti.Open();
    
                    komut.Parameters.AddWithValue("@banf_tarihi", sip.BanfTarihi);
                    komut.Parameters.AddWithValue("@talep_no", sip.TalepNo);
                    komut.Parameters.AddWithValue("@siparis_no", sip.SiparisNo);
                    komut.Parameters.AddWithValue("@ana_masraf_cesidi", sip.AnaMasrafCesidi);
                    komut.Parameters.AddWithValue("@tip_no", sip.TipNo);
                    komut.Parameters.AddWithValue("@pm_no", sip.PmNo);
                    komut.Parameters.AddWithValue("@olcum_ekipmani_tanimi", sip.OlcumEkipTanim);
                    komut.Parameters.AddWithValue("@adet", sip.Adet);
                    komut.Parameters.AddWithValue("@fiyat", sip.Fiyat);
                    komut.Parameters.AddWithValue("@para_birimi", sip.ParaBirim);
                    komut.Parameters.AddWithValue("@termin", sip.Termin);
                    komut.Parameters.AddWithValue("@firma", sip.Firma);
                    komut.Parameters.AddWithValue("@siparis_durumu", sip.SipDurum);
                    komut.Parameters.AddWithValue("@statu", sip.Statu);
    
                    komut.ExecuteNonQuery();
                    baglanti.Close();
    
                }
                catch (Exception ex)
                {
    
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    if (baglanti != null)
                    {
                       
                        baglanti.Close();
                    }
                }
            }
    
            public void Guncelle(Siparis es, Siparis ys)  //sipariş güncelle
            {
                try
                {
                    
                    string sorgu = "Update tbl_data Set banf_tarihi=@banf_tarihi, talep_no=@talep_no, siparis_no=@siparis_no, ana_masraf_cesidi=@ana_masraf_cesidi, tip_no=@tip_no, pm_no=@pm_no, olcum_ekipmani_tanimi=@olcum_ekipmani_tanimi, adet=@adet, fiyat=@fiyat, para_birimi=@para_birimi, termin=@termin, firma=@firma, siparis_durumu=@siparis_durumu, statu=@statu, bup2_teslim_tarihi=@bup2_teslim_tarihi, ahp_sisteme_giris_tarihi=@ahp_sisteme_giris_tarihi, siparis_durum_2=@siparis_durum_2, imalat_teslim_durumu=@imalat_teslim_durumu Where id=@id";
                    komut = new OleDbCommand(sorgu, baglanti);
                    baglanti.Open();
    
                    komut.Parameters.AddWithValue("@banf_tarih", ys.BanfTarihi);
                    komut.Parameters.AddWithValue("@talep_no", ys.TalepNo);
                    komut.Parameters.AddWithValue("@siparis_no", ys.SiparisNo);
                    komut.Parameters.AddWithValue("@ana_masraf_cesidi", ys.AnaMasrafCesidi);
                    komut.Parameters.AddWithValue("@tip_no", ys.TipNo);
                    komut.Parameters.AddWithValue("@pm_no", ys.PmNo);
                    komut.Parameters.AddWithValue("@olcum_ekipmani_tanimi", ys.OlcumEkipTanim);
                    komut.Parameters.AddWithValue("@adet", ys.Adet);
                    komut.Parameters.AddWithValue("@fiyat", ys.Fiyat);
                    komut.Parameters.AddWithValue("@para_birimi", ys.ParaBirim);
                    komut.Parameters.AddWithValue("@termin", ys.Termin);
                    komut.Parameters.AddWithValue("@firma", ys.Firma);
                    komut.Parameters.AddWithValue("@siparis_durumu", ys.SipDurum);
                    komut.Parameters.AddWithValue("@statu", ys.Statu);
                    komut.Parameters.AddWithValue("@bup2_teslim_tarihi", ys.BuP2TeslimTarihi);
                    komut.Parameters.AddWithValue("@ahp_sisteme_giris_tarihi", ys.AhpSisGirisTarihi);
                    komut.Parameters.AddWithValue("@siparis_durum_2", ys.SipDurum2);
                    komut.Parameters.AddWithValue("@imalat_teslim_durumu", ys.ImalatTeslimDurum);
                    komut.Parameters.AddWithValue("@id", ys.Id);
    
                    komut.ExecuteNonQuery();
                  
                }
                catch (Exception ex2)
                {
                    MessageBox.Show(ex2.Message);
                    throw;
                }
                finally
                {
                    if (baglanti != null)
                    {
                       
                        baglanti.Close();
                    }
                }
            }
    
            public void Sil(Siparis k)
            {
                try
                {
                  
                    string sorgu = "delete from tbl_data Where id=" + k.Id + "";
                    komut = new OleDbCommand(sorgu, baglanti);
                    baglanti.Open();
                    komut.ExecuteNonQuery();
                }
                catch (Exception ex2)
                {
                    MessageBox.Show("Bir hata oluştu :"+ Environment.NewLine+ex2.Message);
                    throw;
                }
                finally
                {
                    if (baglanti != null)
                    {
                     
                        baglanti.Close();
                    }
                }
            }
    
          }
    }

    siparis Class ve içindeki static sip_durum classı bu şekilde

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace QMM_Siparis
    {
        class Siparis
        {
            int _id;
            public int Id
            {
                get { return _id; }
                set { _id = value; }
    
            }
            DateTime _banfTarihi;
            public DateTime BanfTarihi
            {
                get { return _banfTarihi; }
                set { _banfTarihi = value; }
            }
    
            string _talepNo;
            public string TalepNo
            {
                get { return _talepNo; }
                set { _talepNo = value; }
            }
    
            string _siparisNo;
            public string SiparisNo
            {
                get { return _siparisNo; }
                set { _siparisNo = value; }
            }
    
            string _anaMasrafCesidi;
            public string AnaMasrafCesidi
            {
                get { return _anaMasrafCesidi; }
                set { _anaMasrafCesidi = value; }
            }
    
            string _tipNo;
            public string TipNo
            {
                get { return _tipNo; }
                set { _tipNo = value; }
            }
    
            string _pmNo;
            public string PmNo
            {
                get { return _pmNo; }
                set { _pmNo = value; }
            }
    
            string _olcEkipTanim;
            public string OlcumEkipTanim
            {
                get { return _olcEkipTanim; }
                set { _olcEkipTanim = value; }
            }
    
            int _adet;
            public int Adet
            {
                get { return _adet; }
                set { _adet = value; }
            }
    
            decimal _fiyat;
            public decimal Fiyat
            {
                get { return _fiyat; }
                set { _fiyat = value; }
            }
    
            string _paraBirim;
            public string ParaBirim
            {
                get { return _paraBirim; }
                set { _paraBirim = value; }
            }
    
            DateTime _termin;
            public DateTime Termin
            {
                get { return _termin; }
                set { _termin = value; }
            }
            string _firma;
            public string Firma
            {
                get { return _firma; }
                set { _firma = value; }
            }
    
            string _sipDurum;
            public string SipDurum
            {
                get { return _sipDurum; }
                set { _sipDurum = value; }
            }
    
            string _statu;
            public string Statu
            {
                get { return _statu; }
                set { _statu = value; }
            }
    
            DateTime _buP2TeslimTarihi;
            public DateTime BuP2TeslimTarihi
            {
                get { return _buP2TeslimTarihi; }
                set { _buP2TeslimTarihi = value; }
            }
    
            DateTime _ahpSisGirisTarihi;
            public DateTime AhpSisGirisTarihi
            {
                get { return _ahpSisGirisTarihi; }
                set { _ahpSisGirisTarihi = value; }
            }
    
            string _sipDurum2;
            public string SipDurum2
            {
                get { return _sipDurum2; }
                set { _sipDurum2 = value; }
            }
    
            string _imalatTeslimDurum;
            public string ImalatTeslimDurum
            {
                get { return _imalatTeslimDurum; }
                set { _imalatTeslimDurum = value; }
            }
    
    
        }
    
        static class sipDurum
        {
            public static string Durum { get; set; }
        }
    
    }
    

    Formda çalışan kodlarda bu şekkilde

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.OleDb;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace QMM_Siparis
    {
        public partial class Form1 : Form
        {
            VeriTabani vt = new VeriTabani();
    
            void Listele() //Datagrid listeleme işlemi için metod 
            {
                dataGridView1.DataSource = vt.Listele();
            }
       
            public Form1()
            {
                InitializeComponent();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                cmb_para_birim.SelectedIndex = 0;
                cmb_sip_durum.SelectedIndex = 0;
                cmb_statu.SelectedIndex = 0;
                sipDurum.Durum = "AÇIK";
                Listele();
            }
    
            private void rb_CheckedChanged(object sender, EventArgs e)
            {
                if (rb_acik.Checked)
                {
                    sipDurum.Durum = "AÇIK";
                }
                else if (rb_kapali.Checked)
                {
                    sipDurum.Durum = "KAPALI";
                }
                else if (rb_tumu.Checked)
                {
                    sipDurum.Durum = "TUM";
                }
    
                Listele();
            }
    
            public void liste_durum()
            {
                if (rb_acik.Checked)
                {
                    sipDurum.Durum = "AÇIK";
                }
                else if (rb_kapali.Checked)
                {
                    sipDurum.Durum = "KAPALI";
                }
                else if (rb_tumu.Checked)
                {
                    sipDurum.Durum = "TUM";
                }
    
    
            }
    
            private void btn_kaydet_Click_1(object sender, EventArgs e)    //  Kaydetme işlemi yapılılan kod bloğu
            {
                string metin = dtp_banf_tarihi.Text;
                char ayracc = ' ';
                string[] met = metin.Split(ayracc);
    
                string metin1 = dtp_termin.Text;
                char ayrac = ' ';
                string[] met1 = metin1.Split(ayrac);
    
                Siparis ys = new Siparis();
                ys.BanfTarihi = Convert.ToDateTime(met[0].ToString());
                ys.TalepNo = txt_talep_no.Text;
                ys.SiparisNo = txt_sip_no.Text;
                ys.AnaMasrafCesidi = txt_ana_masraf_cesidi.Text;
                ys.TipNo = txt_tip_no.Text;
                ys.PmNo = txt_pm_no.Text;
                ys.OlcumEkipTanim = txt_ekipman_tanimi.Text;
                ys.Adet = Convert.ToInt32(nud_adet.Value);
                ys.Fiyat = Convert.ToDecimal(txt_fiyat.Text);
                ys.ParaBirim = cmb_para_birim.Text;
                ys.Termin = Convert.ToDateTime(met1[0].ToString());
                ys.Firma = cmb_firma.Text;
                ys.SipDurum = cmb_sip_durum.Text;
                ys.Statu = cmb_statu.Text;
    
                vt.Ekle(ys);
                liste_durum();
                Listele();
    
            }
    
    
            private void btn_guncelle_Click(object sender, EventArgs e)  // Güncelleme işlemleri yapılacak 
            {
                Siparis es = new Siparis();
                es = (Siparis)dataGridView1.CurrentRow.DataBoundItem;
                Siparis ys = new Siparis();
                char ayrac = ' ';
    
                string metin = dtp_banf_tarihi.Text;
                string[] met = metin.Split(ayrac);
    
                string metin1 = dtp_termin.Text;
                string[] met1 = metin1.Split(ayrac);
    
                string metin2 = dtp_bup2_teslim.Text;
                string[] met2 = metin1.Split(ayrac);
    
                string metin3 = dtp_ahp_sis_giris.Text;
                string[] met3 = metin1.Split(ayrac);
    
                ys.Id = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value);
                ys.BanfTarihi = Convert.ToDateTime(met[0]);
                ys.TalepNo = txt_talep_no.Text;
                ys.SiparisNo = txt_sip_no.Text;
                ys.AnaMasrafCesidi = txt_ana_masraf_cesidi.Text;
                ys.TipNo = txt_tip_no.Text;
                ys.PmNo = txt_pm_no.Text;
                ys.OlcumEkipTanim = txt_ekipman_tanimi.Text;
                ys.Adet = Convert.ToInt32(nud_adet.Value);
                ys.Fiyat = Convert.ToDecimal(txt_fiyat.Text);
                ys.ParaBirim = cmb_para_birim.Text;
                ys.Termin = Convert.ToDateTime(met1[0]);
                ys.Firma = cmb_firma.Text;
                ys.SipDurum = cmb_sip_durum.Text;
                ys.Statu = cmb_statu.Text;
                ys.BuP2TeslimTarihi = Convert.ToDateTime(met2[0]);
                ys.AhpSisGirisTarihi = Convert.ToDateTime(met3[0]);
                ys.SipDurum2 = cmb_sip_durum_2.Text;
                ys.ImalatTeslimDurum = cmb_imalat_teslim.Text;
    
                vt.Guncelle(es, ys);
                liste_durum();
                Listele();
            }
            
            private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
            {
                if (chk_guncelle.Checked)
                {
                    try
                    {
                        dtp_banf_tarihi.Value = Convert.ToDateTime(dataGridView1.CurrentRow.Cells[1].Value.ToString());
                        txt_talep_no.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
                        txt_sip_no.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
                        txt_ana_masraf_cesidi.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
                        txt_tip_no.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();
                        txt_pm_no.Text = dataGridView1.CurrentRow.Cells[6].Value.ToString();
                        txt_ekipman_tanimi.Text = dataGridView1.CurrentRow.Cells[7].Value.ToString();
                        nud_adet.Value = Convert.ToInt32(dataGridView1.CurrentRow.Cells[8].Value.ToString());
                        txt_fiyat.Text = dataGridView1.CurrentRow.Cells[9].Value.ToString();
                        cmb_para_birim.Text = dataGridView1.CurrentRow.Cells[10].Value.ToString();
                        // dtp_termin.Value = Convert.ToDateTime(dataGridView1.CurrentRow.Cells[11].Value.ToString());
                        cmb_firma.Text = dataGridView1.CurrentRow.Cells[12].Value.ToString();
                        cmb_sip_durum.Text = dataGridView1.CurrentRow.Cells[13].Value.ToString();
                        cmb_statu.Text = dataGridView1.CurrentRow.Cells[14].Value.ToString();
                        // dtp_bup2_teslim.Value = Convert.ToDateTime(dataGridView1.CurrentRow.Cells[15].Value.ToString());
                        // dtp_ahp_sis_giris.Value = Convert.ToDateTime(dataGridView1.CurrentRow.Cells[16].Value.ToString());
                        // cmb_sip_durum_2.Text = dataGridView1.CurrentRow.Cells[17].Value.ToString();
                        // cmb_imalat_teslim.Text = dataGridView1.CurrentRow.Cells[18].Value.ToString();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Bir Hata Oluştu :" + Environment.NewLine + ex.Message);
                        throw;
                    }
                }
                else
                    return;
    }
    
            private void btn_sil_Click(object sender, EventArgs e)
            {
                Siparis silinecesiparis = new Siparis();
                silinecesiparis = (Siparis)dataGridView1.CurrentRow.DataBoundItem;
                vt.Sil(silinecesiparis);
                Listele();
                sutun_genislik();
            }
    
       
            private void btn_temizle_Click_1(object sender, EventArgs e)    // TExtBox ların Temizlenmesi 
            {
                temizle();
            }
    
            private void sutun_genislik()//sutun genişliği ayarla
            {
                dataGridView1.Columns[0].Width = 30;
                dataGridView1.Columns[1].Width = 80;
                dataGridView1.Columns[2].Width = 80;
                dataGridView1.Columns[3].Width = 80;
                dataGridView1.Columns[4].Width = 100;
                dataGridView1.Columns[5].Width = 80;
                dataGridView1.Columns[6].Width = 100;
                dataGridView1.Columns[7].Width = 150;
                dataGridView1.Columns[8].Width = 50;
                dataGridView1.Columns[9].Width = 50;
                dataGridView1.Columns[10].Width = 70;
                dataGridView1.Columns[11].Width = 80;
                dataGridView1.Columns[12].Width = 170;
                dataGridView1.Columns[13].Width = 80;
                dataGridView1.Columns[14].Width = 80;
                dataGridView1.Columns[15].Width = 80;
                dataGridView1.Columns[16].Width = 110;
                dataGridView1.Columns[17].Width = 150;
                dataGridView1.Columns[18].Width = 150;
            }
    
    
    
            private void temizle()
            {
                foreach (Control ctrl in this.Controls)
                {
                    if (ctrl is GroupBox)
                    {
                        foreach (Control ctrlGroupBox in ((GroupBox)ctrl).Controls)
                        {
                            if (ctrlGroupBox is TextBox)
                                ((TextBox)ctrlGroupBox).Text = "";
                        }
                    }
    
                    txt_fiyat.Text = "1,00";
                }
                sutun_genislik();
            }
    
            private void chk_guncelle_CheckedChanged(object sender, EventArgs e)
            {
                if(chk_guncelle.Checked)
                {
                    btn_guncelle.Enabled = true;
                    grp_box_2.Visible = true;
                }
                else
                {
                    btn_guncelle.Enabled = false;
                    grp_box_2.Visible = false;
                    temizle();
                }
            }
        }
    
    
    }
    

    Form tasarımı Şu şekilde

    Güncelle chech box ı açıp güncelleyeceğim satırı seçip gerekli güncellemeyi yapıyorum.

    Güncelle buttonuna basıyorum güncelleliyor. Bıraya kadar bir sıkıntı yok.

    Ardından Radiobutonlarda değişikşik yaptığımda aşağıdaki hatayı alıyorum.

    Bir kaç yerde araştırdım.

    Komut.dispose();

    yapılması gerektiğini yazmışlar ama . bir türlü çözemedim.

    Yardımcı olursanız sevinirim.

    Yolun çok başındayım kendimce birşeyler öğrenmeye ve yapmaya çalışıyorum . Bu yüzden kodlarda yanlışlık -eksiklik - fazlalık vb hatalar mutlaka vardır.

    Bu hataları söylerseniz düzeltmeye çalışacağım.

    Teşekkürler.

    11 Ocak 2020 Cumartesi 08:24
  • bu yazdıklarının HEPSİ yanlış. Bu kodların hiç birine gerek yok.

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

    11 Ocak 2020 Cumartesi 12:31
    Moderatör
  • bu yazdıklarının HEPSİ yanlış. Bu kodların hiç birine gerek yok.

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

    Abi sql-link-entity vb  kullanmasını bilmediğim teknikler ve eminim bu teknikler ile çok daha kolay yoldan yapılabilir. 

    Ben şuan bir kursa gidiyorum ve kursta öğrendiklerim ile bu kadar yapabiliyorum. 

    Önümüzdeki hafta SQL - konusuna gireceğiz. Sonrasında Link vb konulara gececeğiz sanırım.

    Şuan ki bildiklerim ile bunları yazabildim. 


    Lütfen yorum yaparken bunları göz önünde bulundurur musunuz?

    Şuan ki olayım sanırım şuna benziyor. 

    Çarpmayı öğrenmemiş bir ilkokul öğrencisine ( ki bu ben oluyorum  :(  )

    Tanesi 3 TL olan şekerlerden 15 tane aldım bakkala kaç TL ödemeliyim.

    3+3+3+.........3 =45 TL   diyorum  (sanırım ben böyle yaptım )

    Çarpmayı bilen daha büyük bir öğrenci ise böyle olmaz daha kolayı var deyip. 

    3*15= 45 TL diyor.  ( buda siz oluyorsunuz   :)    )

    Umarım anlaşılabilmişimdir. 

    Abi yıllardır takip ediyorum sizi (sen ve Çetin Abiyi ,  Çetin Abi Access i veri tabanı olarak görünce eminim kızacaktır zaten ...) Sürekli doğru olanı ve en iyi yöntemi bizim gibi acemi arkadaşlara anlatmaya çalışıyorsunuz. Farkındayım fakat mevcut durum bu ne yazık ki.. 

    Mevcut durumda ne yapmalıyım abi. 



    11 Ocak 2020 Cumartesi 14:14
  • Merhaba;

    Veritabanı clas ındaki listele metoduna aşağıdaki eklemeyi yapınca problem çözüldü.

    public List<Siparis> Listele() {

    komut = new OleDbCommand();
                komut.Connection = baglanti; List<Siparis> siparisListesi = new List<Siparis>(); try { if (Convert.ToString(sipDurum.Durum) == "AÇIK")

    • Yanıt Olarak İşaretleyen icemeno__ 15 Ocak 2020 Çarşamba 10:01
    15 Ocak 2020 Çarşamba 10:01