繁体   English   中英

当我尝试启动程序时:(0xc0000005) '访问冲突' 错误

[英]When i'm trying to start the program: (0xc0000005) 'Access violation' error

这是我的第一个基于 Windows 窗体应用程序的程序。 我的程序中有五种形式,除此之外,这些形式没有错误。

我在下面的代码中遇到错误:

  public partial class FORMZ : Form
    {
        public static string baglantiYazisi = "Data Source=SERVERADRESS\\; Initial Catalog=Bilal; User id=""; Password="";";
        SqlConnection baglanti = new SqlConnection(baglantiYazisi);
        string[] musTrhArray = new string[8];
        string[] satisArray = new string[8];
        string[] MusteriKayıtID = new string[8];
        string[] MusteriSehirArray = new string[8];

        string[] satisMusterIsim = new string[8];
        string[] satisAdetArray = new string[8];
        string[] satisTutarArray = new string[8];


        string sonMusteri = "SELECT TOP 8 * FROM musteri ORDER BY idmusteri DESC";
        string sonSatis = "SELECT TOP 8 * FROM satis ORDER BY idsatis DESC";
        string haftalikVeri = "SELECT * FROM satis WHERE tarih >= DATEADD(day,-7, GETDATE())";
        string aylikveri = "SELECT * FROM satis WHERE tarih >= DATEADD(day,-30, GETDATE())";

        public musteribilgi musteribilgi;
        public Satis satis;
        public Stok stok;
        public musteri musteri;
        public ERVA()

        {
            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)
        {
            satis = new Satis();
            satis.Show();
            this.Visible = false;

        }

        private void button3_Click(object sender, EventArgs e)
        {
            stok = new Stok();
            stok.Show();
            this.Visible = false;
        }



       string returnIT(string text)
        {

            baglanti.Open();
            string sonuc = "";
            string satis = "select * from musteri where idmusteri = '" + text+ "'";
            SqlCommand yeni = new SqlCommand(satis, baglanti);
            yeni.ExecuteNonQuery();
            SqlDataReader dr = yeni.ExecuteReader();
            while (dr.Read())
            {
                sonuc = dr["isim"].ToString() + " " + dr["soyisim"].ToString();
            }
            dr.Close();
            dr.Dispose();
            baglanti.Dispose();
            baglanti.Close();

            return sonuc;
        }

      string dolarKuru()
        {
            if (CheckForInternetConnection())
            {
                string adres = "http://www.EXAMPLE.com"; //1
                WebRequest istek = HttpWebRequest.Create(adres); //2
                WebResponse cevap; //3
                cevap = istek.GetResponse(); //4
                StreamReader donenBilgiler = new StreamReader(cevap.GetResponseStream()); //5
                string gelen = donenBilgiler.ReadToEnd(); //6
                int titleIndexBaslangici = gelen.IndexOf("http://kur.EXAMPLE.com/kur/abd-dolari") + 177; //7
                int titleIndexBitisi = gelen.Substring(titleIndexBaslangici).IndexOf("1 USD") -58; //8
                string baslik = gelen.Substring(titleIndexBaslangici, titleIndexBitisi);
                dolarLbl.Visible = true;
                euroLbl.Visible = true;

                hataLbl.Visible = false;
                hataLbl1.Visible = false;
                return baslik;

            }
            else
            {
                dolarLbl.Visible = false;
                euroLbl.Visible = false;

                hataLbl.Visible = true;
                hataLbl1.Visible = true;



            }

            return " ";
        }

        public static bool CheckForInternetConnection()
        {
            try
            {
                using (var client = new WebClient())
                using (var stream = client.OpenRead("http://www.google.com"))
                {
                    return true;
                }
            }
            catch
            {
                return false;
            }
        }

        string euroKuru() {
            if(CheckForInternetConnection()){
                string adres = "http://www.EXAMPLE.com"; //1
                WebRequest istek = HttpWebRequest.Create(adres); //2
                WebResponse cevap; //3
                cevap = istek.GetResponse(); //4
                StreamReader donenBilgiler = new StreamReader(cevap.GetResponseStream()); //5
                string gelen = donenBilgiler.ReadToEnd(); //6
                donenBilgiler.Close();
                int titleIndexBaslangici = gelen.IndexOf("beur") + 183; //7
                int titleIndexBitisi = gelen.Substring(titleIndexBaslangici).IndexOf("http://kur.EXAMPLE.com/kur/euro") + 7; //8
                string baslik = gelen.Substring(titleIndexBaslangici, titleIndexBitisi);
                return baslik;
            }
        else
    {

                return "Internet bağlantısı yok!";
    }


        }

       string[] returnToText(string[] texts)
        {

            baglanti.Open();
            string[] sonuc = new string[texts.Length];

                 string satis = "select * from musteri where idmusteri = '" + texts[0]+"'";
                SqlCommand yeni = new SqlCommand(satis, baglanti);
                yeni.ExecuteNonQuery();
                SqlDataReader dr = yeni.ExecuteReader();
                for (int i = 0; i < sonuc.Length; i++)
                {
                    sonuc[i] = returnIT(texts[i]);


                }
                baglanti.Dispose();
                baglanti.Close();

            return sonuc;

        }

        string veriCek(String connectionString)
        {
            try
            {
                baglanti.Open();
                int sonuc = 0;
                SqlCommand kmut = new SqlCommand(connectionString, baglanti);
                kmut.ExecuteNonQuery();
                SqlDataReader dr = kmut.ExecuteReader();
                while (dr.Read())
                {
                    sonuc = sonuc + Convert.ToInt32(dr["satistutari"].ToString());

                }

                baglanti.Close();
                baglanti.Dispose();

                return Convert.ToString(sonuc);
            }

            catch
            {
                return "";

            }


        }





        private void Form1_Load(object sender, EventArgs e)
        {
            String[] kurlar = new String[2];
            kurlar[0] = dolarKuru();
            kurlar[1] = euroKuru();

            dolarLbl.Text = kurlar[0];
            euroLbl.Text = kurlar[1];


            aylikKazanc.Text = veriCek(aylikveri)+".00 TL";
            hataLbl.Visible = false;
            hataLbl1.Visible = false;



            baglanti = new SqlConnection(baglantiYazisi);
            baglanti.Open();

                SqlCommand kmut = new SqlCommand(sonMusteri, baglanti);
                kmut.ExecuteNonQuery();



                SqlDataReader dr = kmut.ExecuteReader();

                int i = 0;
                while (dr.Read() && i != 8)
                {
                    musTrhArray[i] = dr["tarih"].ToString();
                    MusteriKayıtID[i] = dr["idmusteri"].ToString();
                    MusteriSehirArray[i] = dr["sehir"].ToString();
                    i++;
                }
                dr.Close();
                baglanti.Dispose();
                baglanti.Close();
                string[] isimler = returnToText(MusteriKayıtID);

                isimLbl.Text = isimler[0];
                isimLbl1.Text = isimler[1];
                isimLbl2.Text = isimler[2];
                isimLbl3.Text = isimler[3];
                isimLbl4.Text = isimler[4];
                isimLbl5.Text = isimler[5];
                isimLbl6.Text = isimler[6];
                isimLbl7.Text = isimler[7];




                musTrh.Text = musTrhArray[0];
                musTrh1.Text = musTrhArray[1];
                musTrh2.Text = musTrhArray[2];
                musTrh3.Text = musTrhArray[3];
                musTrh4.Text = musTrhArray[4];
                musTrh5.Text = musTrhArray[5];
                musTrh6.Text = musTrhArray[6];
                musTrh7.Text = musTrhArray[7];



                sehirLbl.Text = MusteriSehirArray[0];
                sehirLbl1.Text = MusteriSehirArray[1];
                sehirLbl2.Text = MusteriSehirArray[2];
                sehirLbl3.Text = MusteriSehirArray[3];
                sehirLbl4.Text = MusteriSehirArray[4];
                sehirLbl5.Text = MusteriSehirArray[5];
                sehirLbl6.Text = MusteriSehirArray[6];
                sehirLbl7.Text = MusteriSehirArray[7];
                baglanti.Open();
                SqlCommand komutu = new SqlCommand(sonSatis, baglanti);
                komutu.ExecuteNonQuery();
                dr = komutu.ExecuteReader();

                int j = 0;

                while (dr.Read() && j != 8)
                {
                    satisArray[j] = dr["tarih"].ToString();
                    satisAdetArray[j] = dr["adet"].ToString();
                    satisTutarArray[j] = dr["satistutari"].ToString();
                    satisMusterIsim[j] = dr["idmusteri"].ToString();
                    j++;
                }
                dr.Close();
                dr.Dispose();
                satisMusterIsim = returnToText(satisMusterIsim);

                saTrh.Text = satisArray[0];
                saTrh1.Text = satisArray[1];
                saTrh2.Text = satisArray[2];
                saTrh3.Text = satisArray[3];
                saTrh4.Text = satisArray[4];
                saTrh5.Text = satisArray[5];
                saTrh6.Text = satisArray[6];
                saTrh7.Text = satisArray[7];

                tutarLbl.Text = satisTutarArray[0];
                tutarLbl1.Text = satisTutarArray[1];
                tutarLbl2.Text = satisTutarArray[2];
                tutarLbl3.Text = satisTutarArray[3];
                tutarLbl4.Text = satisTutarArray[4];
                tutarLbl5.Text = satisTutarArray[5];
                tutarLbl6.Text = satisTutarArray[6];
                tutarLbl7.Text = satisTutarArray[7];

                adetLbl.Text = satisAdetArray[0];
                adetLbl1.Text = satisAdetArray[1];
                adetLbl2.Text = satisAdetArray[2];
                adetLbl3.Text = satisAdetArray[3];
                adetLbl4.Text = satisAdetArray[4];
                adetLbl5.Text = satisAdetArray[5];
                adetLbl6.Text = satisAdetArray[6];
                adetLbl7.Text = satisAdetArray[7];

                satisIsim.Text = satisMusterIsim[0];
                satisIsim1.Text = satisMusterIsim[1];
                satisIsim2.Text = satisMusterIsim[2];
                satisIsim3.Text = satisMusterIsim[3];
                satisIsim4.Text = satisMusterIsim[4];
                satisIsim5.Text = satisMusterIsim[5];
                satisIsim6.Text = satisMusterIsim[6];
                satisIsim7.Text = satisMusterIsim[7];
                baglanti.Dispose();
                baglanti.Close();

            }

我发布了整个代码。 我不知道这有什么问题。 我的所有表单中都有相同的 connString ,但这会发生错误。

我想出了解决办法。 创建一个新的连接对我有很大帮助。 因为我正在处理连接。 Dispose(); 正在删除所有连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM