[英]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.