الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

transaction with data adaptor

مغلق
بدأه amrobadr في 2 مارس 2006 · 4 رد · 611 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

نفرض اننى ادخل فاتورة و هى مكونة من 2 table

(sale and sub sale

طريقة الحفظ عن طريق data adaptor فى 2 table

كيف اعمل transaction لضمان حفظ البيانات فى 2 table

مع بعض

ارجوا ارسال مثال

#2

لو قمت بعمل بحث في المنتدى .. لكنت وجدت هذا الموضوع

transaction

#3

اخي إليك هذا الكود مع شرح اسطر الـ Transaction

وقد استخدمت نفس فكرتك في مثال سابق

//تعريف  Transaction في الخارج 
  OleDbTransaction myTransaction;
  private void linkLabel3_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
  {	
 	 try
 	 {
    if(this.xpComboBox5.Text=="بدل تالف")
    {
   	 try
   	 {
      DialogResult dir=MessageBox.Show("انت الأن على وشك أن بضاعة تالفة بأخرى بدل تالف هل انت متأكد من المتابعة","Wornning",MessageBoxButtons.OKCancel,MessageBoxIcon.Information);
      if(dir.ToString()=="OK")
      {
     	 //// start Connection For transaction***///
     	 cnOledb=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\nvit\accounting.mdb;Persist Security Info=False");
     	 cnOledb.Open();
     	 ///***start a local transaction***\\\\
     	 ///
     	 myTransaction=cnOledb.BeginTransaction();
     	 // Enlist the command in the current transaction.
     	 cm=cnOledb.CreateCommand();
     	 cm.Transaction=myTransaction;
//     	 start Command one
     	 cm.CommandText = "Insert into Stock values ('"+this.xpTextBox2.Text+"','"+this.xpTextBox16.Text+"',"+this.xpTextBox17.Text+","+this.xpComboBox1.Text+","+this.xpTextBox7.Text+",'"+this.xpComboBox4.Text+"',"+this.xpTextBox9.Text+",'بدل تالف','"+this.xpTextBox11.Text+"','"+this.xpDateTimePicker1.Text+"')";
     	 cm.ExecuteNonQuery();
//     	 Start Command 2
     	 cm.CommandText = "Delete From Stock where Bill_No='"+this.xpComboBox8.Text+"'";
     	 cm.ExecuteNonQuery();
//     	 If the transaction Compleat SuccessFully
     	 myTransaction.Commit();
     	 MessageBox.Show("تم استبدال البضاعة التالفة ببضاعة بدل تالف بنجاح تام","Saving");
      }
      else
      {
        MessageBox.Show("لقد تم إحباط العملية");
      }
   	 }
   	 catch(Exception eee)
   	 {
//      if there is any error happend to the  transaction 
   	 myTransaction.Rollback();
   	 MessageBox.Show(eee.ToString());
   	 }  
   	 finally
   	 {
      cnOledb.Close();
   	 }
   	 }

بأبي انت وأمي يــــــــــــــــــا رسول اللــــــــــــــــــــــــــــــــه

11_04_06_03_18_15_11447506951138477499_kuth.gif

تذكر دائما ً إنك لا تعيش وحدك

تذكر ان ثمة كثيرون يحتاجون لك

ربما يحتاجون اشياء اكثر بساطة من ان تلتفت انت إليها

ربما يحتاجون إلى كلمة تشجيع ..... في زمن سيطر فيه المال وضاع الحب وتم قتل المشاعر

ربما يحتاجون إلى كتاب ينقلهم إلى عالم .... لا يستطيع الإنسان الذهاب إليه أو العيش.

لا تمشي امامي فقد لا أتبعك

ولا تمشي خلفي فقد لا أقودك

ولكن امشي بجانبي ولنكن اصدقاء

كل زائد تافه مرفوض في عالم البرمجة

emadty@yahoo.com

#4

اخى العزبز

انا اريد

tranasaction with dataadaptor not with command

if is the same send to me example

#5

ماهو الـ DataAdapter عباره عن مجموعه من الـ Commands (h) فاسند الـ Transaction للـ UpdateCommand , و InsertCommand والخ.

يمكنك أيضا اذا كنت تعاني من مشكله مثل أنك تريد أن تقوم بـ Update لجدول قبل الآخر أو اضافة الصفوف الجديده أولا قبل المعدله أو أشياء كهذه أو لديك مشاكل بسبب الـ ForeignKeys والخ .. فاستخدم GetChanges الخاصه بالـ DataSet أو الخاصه بالجداول نفسها.

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

هذا الموضوع مغلق.

مواضيع مشابهة