PDA

View Full Version : مشکل در گزفتن آی دی رکورد هنگام ثبت آن



jaja00
جمعه 23 مهر 1395, 13:59 عصر
سلام خدمت دوستان
با این کد:

if (cmd.ExecuteNonQuery() == 1)
{

Response.Write("<script>alert('اطلاعات شما در سیستم درج شد');</script>");
identitypost = Convert.ToInt32(cmd.ExecuteScalar());
Session["sepost"] = identitypost;
Response.Write("<script>location.assign(' refreshpost.aspx');</script>");
}


من رکورد رو درج میکنم اما مشکل اینه که بعد دوبار رکورد درج میشه یکبار بخاطر cmd.ExecuteNonQuery() و یکبار بخاطر identitypost = Convert.ToInt32(cmd.ExecuteScalar()); الان چجوری میتونم هم آی دی رو بگیرم و هم رکورد یکبار ثبت بشه؟؟

kamranetemadi
جمعه 23 مهر 1395, 15:00 عصر
کوئری که نوشتید رو نمیدونم
ولی اولا
سعی کنید از پروسجر استفاده کنید
دوما از پروسجز که استفاده می کنید میتونید آی دی رکورد ثبت شده رو select کنید تا به عنوان خروجی ExecuteScaler برگرده

در ضمن این مسأله بدهی هست که وقتی 2 بار execute انجام بدید 2 بار ثبت بشه

Mag-Mag
شنبه 24 مهر 1395, 16:13 عصر
همونطور که گفتند بهتره پروسجر باشه

اما شما میتونی اینطوری بنویسی


identitypost = Convert.ToInt32(cmd.ExecuteScalar());
if (identitypost > 0)
{

Response.Write("<script>alert('اطلاعات شما در سیستم درج شد');</script>");
Session["sepost"] = identitypost;
Response.Write("<script>location.assign(' refreshpost.aspx');</script>");
}