PDA

View Full Version : آپدیت همزمان چند جدول



Binazir Gharibi
شنبه 15 شهریور 1393, 14:34 عصر
سلام عرض میکنم به همه اساتید و استادان ( البته اساتید همون استاده :چشمک: )

من گیر یه موضوع شدم و کلی توی سایت گشتم ولی چیزی دستگیرم نشد .

من 2 تا جدول دارم که یکی اطلاعات فردی افراد رو ذخیره میکنه و دیگری مثلا حرفه و تخصص فرد رو ذخیره میکنه

حالا یک فرم رو در نظر بگیرید
این فرم 2 قسمت داره .
یکیش مشخصات فردی و دیگری هم تخصص افراد رو میگیره و توی دوتا جدولمون ثبت میکنه.

من به این صورت ذخیره میکنم اما یه مشکلی هست که بعدا میگم

Dim CmdMoshakhasat, CmdHerfe As New SqlCommand()
CmdMoshakhasat.Connection = ObjConn
CmdHerfe.Connection = ObjConn
''''''''''''
CmdMoshakhasat.CommandText = "Insert Into Moshakhasat_Tbl Values (@FName, @LName)"
CmdHerfe.CommandText = "Insert Into Herfe_Tbl Values (@Herfe, @Tozihat)"
''''''''''''
CmdMoshakhasat.Parameters.AddWithValue("@FName", "علی")
CmdMoshakhasat.Parameters.AddWithValue("@LName", "احمدی")
''''''''''''
CmdHerfe.Parameters.AddWithValue("@Herfe", "مهندس")
CmdHerfe.Parameters.AddWithValue("@Tozihat", "-------")
''''''''''''
ObjConn.Open()
CmdMoshakhasat.ExecuteNonQuery()
CmdHerfe.ExecuteNonQuery()
ObjConn.Close()


من مشکلی با ثبت ندارم ولی یه موردی هست

اگر در بین راه، موقع ثبت اطلاعات در بانک، اینترنت کاربر مشکل پیدا کنه ، آیا ممکنه دستور ثبت به صورت ناقص انجام بشه؟
مثلا تا کد CmdMoshakhasat.ExecuteNonQuery() رو انجام بده ولی بعدی رو نتونه.
در این صورت ما فقط تونستیم مشخصات فردی رو ثبت کنیم ولی حرفه افراد رو بخاطر خرابی اینترنت کاربر ، نتونستیم ثبت کنیم.

شاید ممکن باشه در یک لحظه بخوایم مثلا 5 تا جدول رو آپدیت کنیم و اگر این اتفاق رخ بده، اطلاعات کامل توی بانک ثبت نمیشه ...
راه حلش چیه ؟
یعنی تا زمانی که همه اطلاعات در جدول وارد نشده، هیچ جدولی آپدیت نشه

ممنون میشم اگر در قالب یک پروژه بهم یاد بدید .
پیشاپیش از راهنمایی شما مچکرم
یا حق

ahmad156
شنبه 15 شهریور 1393, 17:20 عصر
سلام.
شما باید از SqlTransaction (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqltransaction%28v=vs.110%29 .aspx) استفاده کنین.اینجا (http://www.codeproject.com/Articles/10223/Using-Transactions-in-ADO-NET)آموزش به همراه پروژه هست.
موفق باشین

m_soheyl_s
دوشنبه 10 آذر 1393, 09:42 صبح
من همزمان در دو جدول می خوام رکورد وارد کنم که البته از استور پروسیجر استفاده مبکنم.
حال اگر وسط کار مثلا اینترنت قطع بشه آیا ممکنه اینزرت در هر دو جدول ناقص بشه یا چون از SP استفاده کردم همچین مشکلی به وجود نمیاد؟