نمایش نتایج 1 تا 6 از 6

نام تاپیک: مشکل 'System.StackOverflowException'

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

    مشکل 'System.StackOverflowException'

    سلام و خسته نباشید .

    مشکلی دارم در مورد StackOverFlow

    قضیه از این قراره که من برای نرم افزار گزارش گیریم از StimulReport استفاده می کنم . ،

    چندین فایل گزارش گیری دارم و همه شان بدون مشکل و سالم هستند . اما یکی از فایلهام زمانی که فراخوانیش می کنم ( فایل های گزارش ساخته شده با StimulReport) یک Error میده با متن زیر

    لیــــنک عکس


    اینم مجموعه کد های هست که برای این فایل گزارشم لود میشه


    SqlConnection cnn72 = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
    SqlCommand cmd72 = new SqlCommand();
    cmd72.Connection = cnn72;
    cnn72.Open();
    cmd72.CommandText = "Delete From other_usage WHERE other_id ='4' OR other_id = '6' OR other_id = '10' OR other_id = '11' AND patientid ='" + textBox1.Text + "'";
    cmd72.ExecuteNonQuery();
    cnn72.Close();


    SqlConnection cnn074 = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
    SqlCommand cmd074 = new SqlCommand();
    cmd074.Connection = cnn074;
    cnn074.Open();
    cmd074.CommandText = "Insert INTO other_usage (patientid,other_id,numberz) VALUES (@patientid,@other_id,@numberz)";
    cmd074.Parameters.AddWithValue("@patientid", textBox1.Text);
    cmd074.Parameters.AddWithValue("@other_id", 4);
    cmd074.Parameters.AddWithValue("@numberz", 1);
    cmd074.ExecuteNonQuery();
    cnn074.Close();

    SqlConnection cnn73 = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
    SqlCommand cmd73 = new SqlCommand();
    cmd73.Connection = cnn73;
    cnn73.Open();
    cmd73.CommandText = "Insert INTO other_usage (patientid,other_id,numberz) VALUES (@patientid,@other_id,@numberz)";
    cmd73.Parameters.AddWithValue("@patientid", textBox1.Text);
    cmd73.Parameters.AddWithValue("@other_id", 6);
    cmd73.Parameters.AddWithValue("@numberz", 1);
    cmd73.ExecuteNonQuery();
    cnn73.Close();

    SqlConnection cnn74 = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
    SqlCommand cmd74 = new SqlCommand();
    cmd74.Connection = cnn74;
    cnn74.Open();
    cmd74.CommandText = "Insert INTO other_usage (patientid,other_id,numberz) VALUES (@patientid,@other_id,@numberz)";
    cmd74.Parameters.AddWithValue("@patientid", textBox1.Text);
    cmd74.Parameters.AddWithValue("@other_id", 10);
    cmd74.Parameters.AddWithValue("@numberz", 1);
    cmd74.ExecuteNonQuery();
    cnn74.Close();

    SqlConnection cnn174 = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
    SqlCommand cmd174 = new SqlCommand();
    cmd174.Connection = cnn174;
    cnn174.Open();
    cmd174.CommandText = "Insert INTO other_usage (patientid,other_id,numberz) VALUES (@patientid,@other_id,@numberz)";
    cmd174.Parameters.AddWithValue("@patientid", textBox1.Text);
    cmd174.Parameters.AddWithValue("@other_id", 11);
    cmd174.Parameters.AddWithValue("@numberz", 1);
    cmd174.ExecuteNonQuery();
    cnn174.Close();

    SqlConnection cnn16 = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
    SqlCommand cmd16 = new SqlCommand();
    cmd16.Connection = cnn16;
    cnn16.Open();
    cmd16.CommandText = "Delete From invoice_other where patientid = '" + textBox1.Text + "'";
    cmd16.ExecuteNonQuery();
    cnn16.Close();

    SqlConnection cnn79 = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
    SqlCommand cmd79 = new SqlCommand();
    cmd79.Connection = cnn79;
    cnn79.Open();
    cmd79.CommandText = "INSERT INTO invoice_other(patientid,other_id,cost_azad,cost_bi me,cost_bimar) SELECT patientid,other_id,(numberz * cost_azad_meli),(numberz * cost_meli),(numberz * cost_azad_meli - numberz * cost_meli) FROM other_type,other_usage WHERE other_usage.other_id = other_type.id AND patientid = @patientid";
    cmd79.Parameters.AddWithValue("@patientid", textBox1.Text);
    cmd79.ExecuteNonQuery();
    cnn79.Close();

    SqlConnection cnn17 = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
    SqlCommand cmd17 = new SqlCommand();
    cmd17.Connection = cnn17;
    cnn17.Open();
    cmd17.CommandText = "Delete From invoice_lenz where patientid = '" + textBox1.Text + "'";
    cmd17.ExecuteNonQuery();
    cnn17.Close();

    SqlConnection cnn78 = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
    SqlCommand cmd78 = new SqlCommand();
    cmd78.Connection = cnn78;
    cnn78.Open();
    cmd78.CommandText = "INSERT INTO invoice_lenz (patientid,lenz_id,cost_azad,cost_bime,cost_mokame l,cost_bimar) SELECT dbo.lenz_usage.patientid,dbo.lenz_type.id,(numberz * dbo.lenz_type.cost_azad),0,0,0 FROM dbo.lenz_usage INNER JOIN dbo.lenz_type ON dbo.lenz_usage.lenz_id = dbo.lenz_type.id WHERE patientid = @patientid";
    cmd78.Parameters.AddWithValue("@patientid", textBox1.Text);
    cmd78.ExecuteNonQuery();
    cnn78.Close();

    string path = "Reports\\invoice_meli.mrt";
    stiReport1.Load(path);
    stiReport1.Dictionary.DataSources["DataSource2"].Parameters[0].Value = textBox1.Text;
    stiReport1.Dictionary.DataSources["Lenz"].Parameters[0].Value = textBox1.Text;
    stiReport1.Dictionary.DataSources["phaco"].Parameters[0].Value = textBox1.Text;
    stiReport1.Dictionary.DataSources["Navar"].Parameters[0].Value = textBox1.Text;
    stiReport1.Dictionary.DataSources["Visit"].Parameters[0].Value = textBox1.Text;
    stiReport1.Dictionary.DataSources["daroo"].Parameters[0].Value = textBox1.Text;
    stiReport1.Dictionary.DataSources["tajhiz"].Parameters[0].Value = textBox1.Text;
    stiReport1.Dictionary.DataSources["micro"].Parameters[0].Value = textBox1.Text;
    stiReport1.Dictionary.DataSources["profile"].Parameters[0].Value = textBox1.Text;
    stiReport1.Dictionary.DataSources["takht"].Parameters[0].Value = textBox1.Text;
    stiReport1.Dictionary.DataSources["khadamat"].Parameters[0].Value = textBox1.Text;
    stiReport1.Dictionary.DataSources["Service"].Parameters[0].Value = textBox1.Text;
    stiReport1.Dictionary.DataSources["Laser"].Parameters[0].Value = textBox1.Text;

    stiReport1.Show();
    string datez = PersianDate.Now.ToShortDateString();
    string[] str = datez.Split('/');
    for (int i = 0; i < str.Length; i++) ;
    string day = str[0];
    string month = str[1];
    string year = str[2];
    /////////////
    TimeSpan z = DateTime.Now.TimeOfDay;
    string mm = Convert.ToString(z);
    string hour = mm.Substring(0, 2);
    string minute = mm.Substring(3, 2);
    string second = mm.Substring(6, 2);
    stiReport1.SaveDocument(@"\\Pc2\e\Saved_Reports\\" + textBox1.Text + "-" + year + "-" + month + "-" + day + "-" + hour + "-" + minute + "-" + second + ".mdc");


    همین کد ها برای گزارشات دیگر ( با کمی تغییر در کوری ها ) قرار دارد و مشکلی نیست .

    نمی دانم چرا این مشکل بوجود میاد . در ضمن زمانی که با خود نرم افزار گزارش ساز ( StimulReport ) چک می کنم ، فایل گزارش مشکلی نداره .



    ممنون میشم کمک کنید
    ///////////////////

    لازم به ذکر هست که خدمت مدیران عزیز ، زیاد زیاد سرچ کردم ، در گوگل گشتم ، سایت های خارجی و فارسی رو گشتم ، سایت های رقبا دوستان و .............. چیزی پیدا نکردم.

    بعد اقدام به زدن تاپیک کردم . خواهشن تاپیک رو پاک نکنید .

    اگه پاک کردید یه PM بزنید و دلیل رو بفرمایید اگه زحمتی نیست .

    با کمال احترام

  2. #2

    نقل قول: مشکل 'System.StackOverflowException'

    خطاهایی که با رنگ سبز نشان داده میشود زمانی رخ میدهند که برنامه نمیداند باید کد را از کجا بخواند به عنوان مثال یک دکمه مثلاً به اسم btnGo_to_home ساختید بعد تو رویداد کلیک آن مینویسید this.Close();//a
    سپس میای تو رویداد closing فرمت مینویسی btnGo_to_home_Click(sender,e);//a (یعنی هر کدی که تو رویداد کلیلک باتن نوشته شده) در هنگام بسته شده فرم برنامه نمداند که عمل بستن را از کجا بخواند . مشکلتان شامل اینجور کاراس باید بگردید مشکلو پیدا کنید .

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

    نقل قول: مشکل 'System.StackOverflowException'

    والا تابعی رو لود نکردم و یا از این کار ها .

    دقیقا همین کد ها برای گزارشات یکسان دیگری هم هستند ، حالا کمی در کوری هاشون تغییر داده شده . ولی فرمت همون هست . اما این اررور رو میده .

    نمی دونم از کجا باید درستش کنم .

  4. #4

    نقل قول: مشکل 'System.StackOverflowException'

    دوست عزیز این خطا همانطور گفتم زمانی است که برنامه نمیداند که از کجا باید کد رو اجرا کنه جایی از برنامه داره دور باطل میزنه. برای استاد mafaman2003 یک پیغام بزنید که به تایپیکتون نگاه بندازن .جوابای ایشون همیشه کامله .
    به جناب the king هم یه پست برنید یادمه که یه همچین خطایی رو داشتم ایشون تفسیر خوبی کردن .

  5. #5

    نقل قول: مشکل 'System.StackOverflowException'

    این خطا زمانی پیش میاد که شما از حافظه Stack بیش از حد استفاده کرده باشید و ظرفیت آن پر شده باشد.
    این حافظه اشاره گرهای هر کلاس رو ذخیره میکنه

    در اصل میشه گفت وقتی یک کلاس به صورت بازگشتی خودش رو فراخونی میکنه بیشترین زمانی است که این خطا روی میده.
    مشکل رفع خطا اینه که برنامه به خودی خودش اجرا میشه
    اما وقتی حلقه بیش از حد تکرار بشه خطا ظاهر میشه . به همین دلیل پیدا کردنش کمی مشکله
    من از روش حذفی استفاده میکنم
    در روش حذفی شما با کامنت کردن بخشهایی از کد و ساده سازی سعی میکنید برنامه رو اجرا کنید. و ...

    البته اگر با تکنیک های خطایابی حرفه ای آشنا باشید راهها و نرم افزارهای کمکی زیادی هست که بدرد میخوره.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

    نقل قول: مشکل 'System.StackOverflowException'

    مرسی از همه عزیزان که کمک کردند من چیز های بیشتری ییاد بگیرم

    مشکل از این بود که یک فیلد در خودش ضرب میشد در برنامه گزارش ساز Stimul Report . و مشکل رو حلش کردم . ممنون


    در کل نتیجه تاپیک این شد که مواردی مثل حلقه تکرار یا یک فعالیت بی نهایت باعث این اررور ها میشه

تاپیک های مشابه

  1. پاسخ: 5
    آخرین پست: یک شنبه 18 تیر 1391, 00:30 صبح
  2. error: System.StackOverflowException
    نوشته شده توسط MMStudent در بخش C#‎‎
    پاسخ: 1
    آخرین پست: جمعه 06 فروردین 1389, 12:17 عصر
  3. سوال: مشکل System.Drawing.Image با IIS
    نوشته شده توسط sadegh.rj در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: دوشنبه 21 مرداد 1387, 15:09 عصر
  4. 'exception of type 'System.StackOverflowException
    نوشته شده توسط federrer در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: جمعه 17 اسفند 1386, 17:39 عصر
  5. Exception of type System.StackOverflowException was thrown.
    نوشته شده توسط nazaninam در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: جمعه 05 اسفند 1384, 07:52 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •