PDA

View Full Version : مشکل با ثبت در دیتابیس در حلقه try



aliblue
دوشنبه 13 شهریور 1391, 13:47 عصر
سلام.من در صفحه ثبت نامم مشخصات رو از طریق Stored Procedure در جدول ذخیره میکنم و کد های این قسمت داخل حلقه try قرار داره.بعدش هم یک حلقه catch گذاشتم.ولی وقتی ثبت میکنم کد های قسمت catch اجرا میشه ولی وقته در sqlserver نگاه میکنم میبینم که بدون مشکلی ثبت شده.پس چرا اینطوریه؟
اینم کد های صفحه ثبت نام:
try
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=ROM-PC\\ALIREZA;Initial Catalog=e-dot;Integrated Security=True";

SqlCommand cmd = new SqlCommand("RegSt", con);
cmd.CommandType = CommandType.StoredProcedure;

con.Open();

cmd.Parameters.AddWithValue("@user", TextBox1.Text);
cmd.Parameters.AddWithValue("@pass", TextBox2.Text);

cmd.ExecuteNonQuery();


con.Close();
Response.Redirect("payam.aspx?code=1");
}
catch (Exception er)
{
Response.Redirect("payam.aspx?code=2&er=" + er.Message.ToString());
}

و اینم صفحه payam.aspx:
protected void Page_Load(object sender, EventArgs e)
{
string cd;
cd=Request.QueryString["code"];
if (cd == "1")
{
Label1.Text = "مشخصات شما با موفقیت ثبت شد";
Label1.ForeColor = System.Drawing.Color.Green;
}
else
{
Label1.ForeColor = System.Drawing.Color.Red;
Label1.Text = "خطا در ارتباط با پایگاه داده:";
Label2.Text = Request.QueryString["er"];
}
}
بعد از کلیک روی دکمه ثبت به صفحه payam.aspx میره و همونطور که عکسشو در زیر گذاشتم به جای اینکه بگه ثبت شده خطا رو میده:
92278

aliblue
دوشنبه 13 شهریور 1391, 14:24 عصر
البته من چند تا فیلد اختیاری هم دارم که اونا رو در کد بالا نیاوردم.آیا ممکنه چون اون textbox ها خالی رها میشن و وقتی میخوام مثلا به صورت زیر عمل کنم خطا میده؟

cmd.Parameters.AddWithValue("@name", TextBox7.Text);

aliblue
دوشنبه 13 شهریور 1391, 18:44 عصر
مشکل از موضوعیه که در لینک زیر دوستان توضیح دادن.
http://barnamenevis.org/showthread.php?358602-%D8%AE%D8%B7%D8%A7-%D8%A8%D8%B9%D8%AF-%D8%A7%D8%B2-Response.Redirect&p=1581498#post1581498
اگه میشد خودم روی دکمه تشکر کلیک میکردم:لبخند: