PDA

View Full Version : علت خطای : System.StackOverflowException was unhandled



csharpdoost
شنبه 13 مهر 1392, 17:48 عصر
سلام
دوستان این خطای overflow کردن stack رو چطوری میشه رفع کرد؟

Mahmoud.Afrad
شنبه 13 مهر 1392, 18:25 عصر
بستگی به کدت داره.

m.h.124
سه شنبه 24 تیر 1393, 03:54 صبح
بستگی به کدت داره.
با سلام
من هم مشکل آقای csharpdoost را دارم . کد را در قسمت پایین میفرستم . چند روزه که درگیر این خطا هستم . به دادم برسین .منتظر راهنمایی تون هستم . ممنون


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;
using System.Data;
using System.Threading.Tasks;
using System.Web.Security;

namespace Konkur
{
class Database
{
SqlConnection con = new SqlConnection();
SqlCommand cmd = new SqlCommand();
SqlDataAdapter daa = new SqlDataAdapter();
DataTable dt = new DataTable();
Database db = new Database();
public Database()
{
con.ConnectionString = "server=(local);database=Azmoon;trusted_connection= yes;";
cmd.Connection = con;
daa.SelectCommand = cmd;
}
public void Open()
{
try
{
con.Open();

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public void Close()
{
con.Close();
}
public DataTable GetUserName()
{

this.Open();
string sql = "select [Username] from tbl_users";
cmd.CommandText = sql;
dt.Clear();
daa.Fill(dt);
this.Close();
return dt;
}
public DataTable CheckUsername(string username, string pass)
{

this.Open();
string sql = "select [Username],[Password] from tbl_users where [Username]=@username AND [Password]=@pass";
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("@username", username);
cmd.Parameters.AddWithValue("@pass", pass);
dt.Clear();
daa.Fill(dt);
this.Close();
return dt;

}

}
}

Hadoop
سه شنبه 24 تیر 1393, 08:03 صبح
سلام
دوستان این خطای overflow کردن stack رو چطوری میشه رفع کرد؟

کدی که نذاشتی و منم اجنه ام رو فرستاده ام مرخصی نمیتونم ذهنت رو بخونم

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

m.h.124
سه شنبه 24 تیر 1393, 13:01 عصر
بستگی به کدت داره.

با سلام
بعد از اتمام مراحل نصب ، ویژوال پیغام داد همه ویژگی ها بدرستی نصب شدند ولی بعضی از کلمات کلیدی مثل DataTable , SqlConnection , SqlCommand,SqlDataAdapter,Database رنگی نمی شوند آیا مشکلی در نصب وجود دارد؟علت اینکه پیغام System.StackOverflowException was unhandled را می دهد چیست؟ کد کلاس اصلی پروژه را در همین تاپیک گذاشتم . کد فرم لاگین هم می گذارم . اصلا برنامه اجرا نمی شه و این خطا را اکثر مواقع روی DataTable dt = new DataTable; و فکر می کنم یکی دو بار هم روی SqlDataAdapter daa = new SqlDataAdapter(); نشان می داد.
برای تحوبل پروژه ام وقتی ندارم.لطفا یه نفر کمکم کنه.


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;

namespace Konkur
{
public partial class FrmLogin : Form
{
public FrmLogin()
{
InitializeComponent();
}
Database db = new Database();
private void Form1_Load(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt = db.CheckUsername(textBox1.Text, textBox2.Text);

if (dt.Rows.Count > 0)
{
(new FrmMain()).Show();
this.Hide();

}
else
{
MessageBox.Show("نام کاربری یا رمز عبور اشتباه می باشد");
}
}
private void button2_Click(object sender, EventArgs e)
{
Environment.Exit(0);
}
}
}

دلتنگ اسمان
سه شنبه 24 تیر 1393, 13:07 عصر
سلام.
دات نت فریم ورک چند رو سیستم نصبه؟

m.h.124
سه شنبه 24 تیر 1393, 13:22 عصر
سلام.
دات نت فریم ورک چند رو سیستم نصبه؟

دات نت فریم ورک 4.5