السلام عليكم سؤالي في ال asp.net عندما يتم مجموعة عمليات وراء بعض ويقع ال connection في نصف هذه العمليات بيسبب لي مشكله
ما الحل اريد ان تتم هذه العمليات كلها او لا تتم مع العلم ان بعضها sql والاخر كتابة على file
السلام عليكم سؤالي في ال asp.net عندما يتم مجموعة عمليات وراء بعض ويقع ال connection في نصف هذه العمليات بيسبب لي مشكله
ما الحل اريد ان تتم هذه العمليات كلها او لا تتم مع العلم ان بعضها sql والاخر كتابة على file
بشكل عام يجب أن يفضل أن تجرى العمليات على قاعدة البيانات بحيث توفر أكبر قدر ممكن من الاتصال مع قاعدة البيانات .... لذلك يمكن استخدام الإجرائيات المخزنة التي من خلالها تستطيعين تنفيذ أكثر من عملية في وقت واحد...
أيضاً إن تستطيعين تنفيذ أكثر من تعليمة باستخدام SQLCommand ( إن كنت تستخدمين SQL Server ) وذلك بفصل كل تعليمة بفاصلة منقوطة ( ; )
cmd.CommandText = "SQL1;SQL2;SQL3"
طبعاً لم أجربها على Access أو Oracle
على كل كل ذلك يكون حسب التطبيق ... وإن شرحتي لنا ماتفعلين فقد نساعدك بشكل أفضل إن شاء الله
تم تعديل هذه المشاركة بواسطة إسماعيل عنجريني في 26 أبريل 2006 في 09:28
طبعاً الأفضل هو استخدام الـ 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();
}طبعاً إما سيتم تنفيذ كل التعليمات بشكل صحيح أو لن يتم تنفيذ أي تعليمة
شكرا لك ما أفعله هوالمستخدم يكتب مسج فأسجل تفاصيلها المهمه في قاعدة البيانات كالعنوان ,لمرسل ....ثم أحفظ محتوى الرسالة في ملف html على السيرفر فأحيانا يسقط النت بعد التسجيل في قاعدة البيانات فتظهر فارغه فأريد ان تتم العمليتان مع بعض او لا يتموا
يمكن استخدام الطريقة التالية
bool flag = true;
try
{
// Add To DataBase
}
catch
{
// Error
flag = false;
}
finally
{
if (flag == true)
{
// Write To File
}
}يمكنك استخدام triger في قاعدة البيانات SQL Server or Oracle يقوم بكتابة ملف ال HTML وبالتالي عند إضافة اي حقل أو تعديله يقوم سيرفر قاعدة البيانات بكتابة ملف ال HTML لك ولن يؤثر انقطاع الاتصال
بالتوفيق
مجموعة الدوت نت في السعودية , اشترك معنا لتحصل على كل مفيد في عالم الدوت نت
شكرا لكم جميعا وياأخ إسماعيل عنجريني هل لو كتبته في ال finally وانقطع النت سينفذ الكود رغم انقطاع النت وهل لو كتبت في الcatch جملة اتأكد فيها لو اسم الملف اتخزن في ال database اتأكد انه موجود على السيرفر ولو غير موجود امسحه من database هل ممكن تنجح هذه الطريقه
أختي ..
أنا انصحك با ستخدام ال triger فهو أضمن من ناحية الاتصال
وبالتوفيق
مجموعة الدوت نت في السعودية , اشترك معنا لتحصل على كل مفيد في عالم الدوت نت
عند الضغط على زر "موافق" مثلاً, تذهب المعلومات التي يجب تنفيذها إلى المخدم أي حتى لو انطقع الاتصال بالإنترنت سيتم تنفيذ العبارة try بكل أجزائها, أي لوت تم تنفيذ أول جزء سيتم تنفيذ باقي الشيفرة, لكن إن كان هناك سماحيات للـ Triger إنشاء ملف فأنا مع رأيي الإخوة في هذا وإن شاء الله الطريقتين صحيحتين
شكرا لكم جميعا ولكن كيف استخدم Triger in sql server 2000 في انشاء ملف html
مجموعة الدوت نت في السعودية , اشترك معنا لتحصل على كل مفيد في عالم الدوت نت
شكرا لكم جميعا وجزاكم الله خيرا
هذا الموضوع مغلق.