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

احتاج توضيح وشرح لهذا الكود من ذوي الخبرة والكفاءة

بدأه osmannassar في 24 أغسطس 2010 · 1 رد · 464 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

protected int ExecuteNonQuery(DbCommand cmd)

{

if (HttpContext.Current.User.Identity.Name.ToLower() == "sampleeditor")

{

foreach (DbParameter param in cmd.Parameters)

{

if (param.Direction == ParameterDirection.Output ||

param.Direction == ParameterDirection.ReturnValue)

{

switch (param.DbType)

{

case DbType.AnsiString:

case DbType.AnsiStringFixedLength:

case DbType.String:

case DbType.StringFixedLength:

case DbType.Xml:

param.Value = "";

break;

case DbType.Boolean:

param.Value = false;

break;

case DbType.Byte:

param.Value = byte.MinValue;

break;

case DbType.Date:

case DbType.DateTime:

param.Value = DateTime.MinValue;

break;

case DbType.Currency:

case DbType.Decimal:

param.Value = decimal.MinValue;

break;

case DbType.Guid:

param.Value = Guid.Empty;

break;

case DbType.Double:

case DbType.Int16:

case DbType.Int32:

case DbType.Int64:

param.Value = 0;

break;

default:

param.Value = null;

break;

}

}

}

return 1;

}

else

return cmd.ExecuteNonQuery();

}

تم تعديل هذه المشاركة بواسطة osmannassar في 24 أغسطس 2010 في 20:33

#2

السلام عليكم ورحمة الله

حيث ان اهل الخبرة الجيدة والكفاءة عير موجودين لإنهم بالتأكيد فى عملهم الإن . فسامحنى سأشرح لك الكود بدلاً منهم .

الله المستعان

اولاً : هذة دالة تأخذ Paramter من نوع DbCommand وهو النوع العام لأوامر Command Object وتجده باقى الأوامر فى System.Data.Common

ثانياً : إليك الشرح فى الخطوات حسب الترتيب الموجود فى الكود

1- قم بالفحص هل المستخدم الحالى بإسم sampleeditor وإن كان هو فنفذ الكود التالى

2- قم بالمرور على كل Parameter داخل الــ Command من خلال Foreach

3- إذا كان هذا الـParamter من نوع output او Returm Value قم بعمل التالى :(أما إن كنت تريد شرح معناهم فعليك بالبحث لإن الموضوع يتطلب كتاب يتحدث عن ADO.Net (.

4- نقوم بفحص نوع الـParam وبناءاً على نوعه نقوم بتحديد القيمة له . من خلال الخاصية Value (وإن قلت لماذا أقل لك إسال من كتب الكود لإنه هو من يرد ذلك )

5 - ثم يعود بالقيمة 1 وذلك لإن الدالة من نوع int

6 - فى حالة else ينفذ الـCommand Object كما هو .

دمتم على خير

أحد الإعضاء :)

تم تعديل هذه المشاركة بواسطة Ahmed Moosa في 25 أغسطس 2010 في 11:00

1

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…