PDA

View Full Version : سوال: استفاده از transaction در C#



ozzy_mra
شنبه 02 مرداد 1389, 07:16 صبح
دوستان عزیز سلام
من تو برنامم باید تو یه قسمت ثبت، ابتدا یه تیبل رو اینزرت کنم و بعد کلید اصلیشو در بیارم و در یه تیبل دیگه اینزرت کنم .
من این کارو با دو تا sp انجام دادم ولی اگه یکی از sp ها فیلد بشه نباید اون یکی هم اعمال بشه واسه همین به فکر استفاده از transaction افتادم ولی نمی دونم چطور باید ازش استفاده کنم.
باید تو sp تراکنش رو بنویسم یا راه دیگه ای داره؟
ممنون می شم راهنماییم کنید

علیرضا مداح
شنبه 02 مرداد 1389, 08:28 صبح
سلام،
Transaction را می توانید در سطح Database یا در سطح Application پیاده سازی نمایید، در سطح Database اینکار با استفاده از فرمان های T-SQL از قبیل BEGIN TRAN,ROLLBACK,COMMIT و ... و در سطح Application هم توسط کلاس هایی همچون SqlTransaction (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqltransaction.aspx)و متد BeginTransaction (http://msdn.microsoft.com/en-us/library/86773566.aspx)موجوذ در کلاس SqlConnection (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.aspx)یا بهره گیری از TransactionScope (http://barnamenevis.org/forum/Implementing%20an%20Implicit%20Transaction%20using %20Transaction%20Scope)صورت می گیرد،
بر روی مواردی که ذکر کردم جستجو کنید، حتما" به نتیجه می رسید،/

ozzy_mra
شنبه 02 مرداد 1389, 08:35 صبح
سلام،
Transaction را می توانید در سطح Database یا در سطح Application پیاده سازی نمایید، در سطح Database اینکار با استفاده از فرمان های T-SQL از قبیل BEGIN TRAN,ROLLBACK,COMMIT و ... و در سطح Application هم توسط کلاس هایی همچون SqlTransaction (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqltransaction.aspx)و متد BeginTransaction (http://msdn.microsoft.com/en-us/library/86773566.aspx)موجوذ در کلاس SqlConnection (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.aspx)یا بهره گیری از TransactionScope (http://barnamenevis.org/forum/Implementing%20an%20Implicit%20Transaction%20using %20Transaction%20Scope)صورت می گیرد،
بر روی مواردی که ذکر کردم جستجو کنید، حتما" به نتیجه می رسید،/

سلام
من نحوه نوشتن ترانزاکشن بوسیله T-SQL رو بلدم داخل sp میشه از begin tran و commit و ... استفاده کرد؟