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

نظرة على لغة الاستعلام Caml Overview - 1

بدأه إسماعيل عنجريني في 16 يناير 2010 · 1 رد · 2,091 مشاهدة · في Microsoft SharePoint
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

تستخدم هذه اللغة في Windows SharePoint Services (WSS) وذلك لأغراض متعددة ومختلفة, منها تعريف الحقول Fields والمناظير Views ضمن المواقع والقوائم في الـ SharePoint بشكل عام وسنبدأ إن شاء الله بكيفية استخدام الـ CAML في عملية استخراج البيانات من القوائم أو مايسمى بـ CAML Query.

هيكلية لغة الاستعلام CAML Query

جميع الصيغ التي تهدف إلى استخراج البيانات من أي قائمة لها الشكل التالي:

<query>
  <where>
    ...
  </where>
  <groupby>
    ...
  </groupby>
  <orderby>
    ...
  </orderby>
</query>

Query

حيث يعتبر العنصر Query أول عناصر هذه الصيغة وجميع العناصر الأخرى تنحصر بين و , والعناصر التي تأتي تحت هذا العنصر مباشرة هي:

  • Where
  • OrderBy
  • GroupBy

ملاحظة: لا يجب استخدام هذا العنصر في حال استخدام الصف SPQuery عند كتابة شيفرة بلغة C# أو VB.NET لاستخراج البيانات من القوائم بالاعتماد على لغة الاستعلام CAML.

Where

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

And

  • BeginsWith
  • Contains
  • DateRangesOverlap
  • Eq
  • Geq
  • Gt
  • IsNotNull
  • IsNull
  • Leq
  • Lt
  • Membership
  • Neq
  • Or

وطبعاً يمكن الدمج بين العناصر السابقة لتوفير مجموعة من الشروط والفصل بينها باستخدام And أو Or, وإجراء عمليات حسابية بسيطة ويمكن استخدام ثوابت معرفة سابقاً في لغة الاستعلام CAML.

OrderBy

وظيفة هذا العنصر هو ترتيب نتائج الاستعلام وفقاً لحقل Field أو أكثر من حقول القائمة التي يُنفذ الاستعلام عليها, وصيغة هذا العنصر هي:

<OrderBy>
<FieldRef
Ascending = "TRUE" "FALSE"
Name = "Text" />
...
</OrderBy>

حيث استخدم العنصر FieldRef لتعريف اسم الحقل الذي سيتم ترتيب النتائج وفقاً له, وذلك بتحديد الخاصتين التاليتين:

  • Ascending: وتقبل إحدى القيمتين TRUE أو FALSE فول كانت القيمة هي TRUE فسيتم ترتيب نتائج الاستعلام بشكل تصاعدي وفقاً للحقل الحالي (وهي القيمة الافتراضية) أما لو كانت القيمة هي FALSE فسيتم ترتيب نتائج الاستعلام بشكل تنازلي وفقاً للحقل الحالي.
  • Name: اسم الحقل الذي سيتم الترتيب وفقاً له, وهنا يجب كتابة اسم الحقل بشكل صحيح مع الانتباه إلى أن اسم الحقل غالباً هو ليس نفسه الاسم الظاهر فهو يختلف باختلاف طريقة تسمية الحقل عند إنشاء أعمدة القائمة.

GroupBy

يُستخدم هذا العنصر بهدف تجميع النتائج حسب أحد حقول القائمة, ولها الصيغة التالية:

<GroupBy
  Collapse = "TRUE"  "FALSE">
  <FieldRef Name = "Field_Name"/>
</GroupBy>

وهذا العنصر لها خاصية اسمها Collapse وتأخذ إما القيمة TRUE عندها سيتم طي البيانات ضمن مجموعات أما FALSE فسيتم توسيع كل المجموعات وإظهار البيانات, أما العنصر FieldRef فيستخدم فقط الخاصية التالية:

  • Name: اسم الحقل الذي سيتم التجميع وفقاً له, وهنا يجب كتابة اسم الحقل بشكل صحيح مع الانتباه إلى أن اسم الحقل غالباً هو ليس نفسه الاسم الظاهر فهو يختلف باختلاف طريقة تسمية الحقل عند إنشاء أعمدة القائمة.

رابط المقالة الأصل

تم تعديل هذه المشاركة بواسطة إسماعيل عنجريني في 16 يناير 2010 في 23:54

1
#2

شكرا لكم ..جزاكم الله خيرا..

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

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

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

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

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