PDA

View Full Version : سوال: اعمال تراکنش با linq بین چند فرم وب



Program.net
سه شنبه 25 مرداد 1390, 14:17 عصر
سلام

چجوری میشه روی انجام عملیات insert در چندین جدول که هر کدام از عملیات ها در صفحه جداگانه انجام میشود تراکنش اعمال کرد؟

Program.net
سه شنبه 25 مرداد 1390, 15:09 عصر
من چند تا جدول دارم که مشخصات مربوط به افراد رو نگه میداره . تصور کنید سایتم مربوط به ثبت نام افراد هست. هر کدوم از جداول مربوطه در یک فرم جداگانه پر میشود .
چجوری میشه همه اعمال insert در این جداول را در یک تراکنش قرار داد؟

Saman Hashemi
سه شنبه 25 مرداد 1390, 15:57 عصر
بهترين كار استفاده از stored procedure هاست...!

Program.net
سه شنبه 25 مرداد 1390, 18:41 عصر
چجوری میشه یکم بیشتر توضیح بدید

ASPX
سه شنبه 25 مرداد 1390, 19:48 عصر
http://how2learnasp.net/article.aspx?code=26b376f2-9a53-4bd6-b79e-4dc2366e3f4e

Program.net
چهارشنبه 26 مرداد 1390, 13:27 عصر
فکر کتن سوالمو درست بیان نکردم..
ببینید فرض کنید می خواین تویه یه سایت ثبت نام کنید. هر سری از اطلاعات در یک فرم جداگانه پر میشود. مثلا اطلاعات شخصی در صفحه اول اطلاعات مربوط به سوابق تحصیل در صفحه دوم و ......
حالا فرض کنیید یکی تا مرحله 2 پیش رفت حالا به هر دلیلی disconnect شد و دوباره تصمیم گرفت ثبت نام کنه . اطلاعاتی رو که قبلا وارد کرده در دیتابیس وجود داره و من نمیخوام این اتفاق بیفته . یه راهش اینه که یه سرچ بزارم و راه بهتر استفاده از تراکنش هست. حالا میخوام ببینم ایا میشود تراکنش را بین چندین صفحه اعمال کرد؟

Saman Hashemi
چهارشنبه 26 مرداد 1390, 14:28 عصر
SqlConnection db = new SqlConnection("connstringhere"); SqlTransaction transaction; db.Open(); transaction = db.BeginTransaction(); try { new SqlCommand("INSERT INTO TransactionDemo " + "(Text) VALUES ('Row1');", db, transaction) .ExecuteNonQuery(); new SqlCommand("INSERT INTO TransactionDemo " + "(Text) VALUES ('Row2');", db, transaction) .ExecuteNonQuery(); new SqlCommand("INSERT INTO CrashMeNow VALUES " + "('Die', 'Die', 'Die');", db, transaction) .ExecuteNonQuery(); transaction.Commit(); } catch (SqlException sqlError) { transaction.Rollback(); } db.Close();
اين دستور تراكنش حالا اگه ميخوايي تو چندتا صفحه استفاده كني كافيه مقادير با يه session بفرستي به صفحه بعد و در آخر تمام مقادير ذخيره كني
Session["Page1"]=name+";"+Family+";"