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

اريد ان تتم هذه العمليات كلها او لا في ال asp.net

مغلق
بدأه rolla_mohamed في 25 أبريل 2006 · 11 رد · 768 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم سؤالي في ال asp.net عندما يتم مجموعة عمليات وراء بعض ويقع ال connection في نصف هذه العمليات بيسبب لي مشكله

ما الحل اريد ان تتم هذه العمليات كلها او لا تتم مع العلم ان بعضها sql والاخر كتابة على file

#2

بشكل عام يجب أن يفضل أن تجرى العمليات على قاعدة البيانات بحيث توفر أكبر قدر ممكن من الاتصال مع قاعدة البيانات .... لذلك يمكن استخدام الإجرائيات المخزنة التي من خلالها تستطيعين تنفيذ أكثر من عملية في وقت واحد...

أيضاً إن تستطيعين تنفيذ أكثر من تعليمة باستخدام SQLCommand ( إن كنت تستخدمين SQL Server ) وذلك بفصل كل تعليمة بفاصلة منقوطة ( ; )

cmd.CommandText = "SQL1;SQL2;SQL3"

طبعاً لم أجربها على Access أو Oracle

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

تم تعديل هذه المشاركة بواسطة إسماعيل عنجريني في 26 أبريل 2006 في 09:28

#3

طبعاً الأفضل هو استخدام الـ Transaction, وهذا مثال...

SqlTransaction T;
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationSettings.AppSettings["connstring"];
SqlCommand cmd = new SqlCommand();

conn.Open();
T = conn.BeginTransaction();

cmd.Connection = conn;
cmd.Transaction = T;

try
{
      cmd.CommandText = SQL;
      cmd.ExecuteNonQuery();

      foreach (QuestionAnswers QA in Answers)
      {
                 SQL COMMANDs
      }

}
catch(Exception ex)
{
     T.Rollback();
     throw ex;
}
finally
{
    T.Commit();
    conn.Close();
}

طبعاً إما سيتم تنفيذ كل التعليمات بشكل صحيح أو لن يتم تنفيذ أي تعليمة

#4

شكرا لك ما أفعله هوالمستخدم يكتب مسج فأسجل تفاصيلها المهمه في قاعدة البيانات كالعنوان ,لمرسل ....ثم أحفظ محتوى الرسالة في ملف html على السيرفر فأحيانا يسقط النت بعد التسجيل في قاعدة البيانات فتظهر فارغه فأريد ان تتم العمليتان مع بعض او لا يتموا

#5

يمكن استخدام الطريقة التالية

bool flag = true;

try
{
    // Add To DataBase
}
catch
{
     // Error
     flag = false;
}
finally
{
    if (flag == true)
    {
        // Write To File
    }
}
#6

يمكنك استخدام triger في قاعدة البيانات SQL Server or Oracle يقوم بكتابة ملف ال HTML وبالتالي عند إضافة اي حقل أو تعديله يقوم سيرفر قاعدة البيانات بكتابة ملف ال HTML لك ولن يؤثر انقطاع الاتصال

بالتوفيق

مجموعة الدوت نت في السعودية , اشترك معنا لتحصل على كل مفيد في عالم الدوت نت

dotnetinsaudi-subscribe@yahoogroups.com

#7

شكرا لكم جميعا وياأخ إسماعيل عنجريني هل لو كتبته في ال finally وانقطع النت سينفذ الكود رغم انقطاع النت وهل لو كتبت في الcatch جملة اتأكد فيها لو اسم الملف اتخزن في ال database اتأكد انه موجود على السيرفر ولو غير موجود امسحه من database هل ممكن تنجح هذه الطريقه

#8

أختي ..

أنا انصحك با ستخدام ال triger فهو أضمن من ناحية الاتصال

وبالتوفيق

مجموعة الدوت نت في السعودية , اشترك معنا لتحصل على كل مفيد في عالم الدوت نت

dotnetinsaudi-subscribe@yahoogroups.com

#9

عند الضغط على زر "موافق" مثلاً, تذهب المعلومات التي يجب تنفيذها إلى المخدم أي حتى لو انطقع الاتصال بالإنترنت سيتم تنفيذ العبارة try بكل أجزائها, أي لوت تم تنفيذ أول جزء سيتم تنفيذ باقي الشيفرة, لكن إن كان هناك سماحيات للـ Triger إنشاء ملف فأنا مع رأيي الإخوة في هذا وإن شاء الله الطريقتين صحيحتين

#10

شكرا لكم جميعا ولكن كيف استخدم Triger in sql server 2000 في انشاء ملف html

#12

شكرا لكم جميعا وجزاكم الله خيرا

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

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