- نظرة على لغة الاستعلام CAML Overview - 1
- نظرة على لغة الاستعلام CAML Overview - 2
- نظرة على لغة الاستعلام CAML Overview - 3
TRUE | OR | TRUE | TRUE |
TRUE | OR | FALSE | TRUE |
FALSE | OR | TRUE | TRUE |
FALSE | OR | FALSE | FALSE |
من الجدول السابق نستنتج أنه يكفي أن تكون إحدى العبارتين صحيحة لتكون نتيجة العبارة Or تساوي TRUE. وتستخدم العبارة Or ضمن لغة الاستعلام CAML كما يلي:
وضمن عبارة Or يمكن استخدام البعارات التالية فقط:
- And
- BeginsWith
- Contains
- DateRangesOverlap
- Eq
- Geq
- Gt
- IsNotNull
- IsNull
- Leq
- Lt
- Membership
- Neq
يمكن استخدام أي تتابع من العبارات السابقة ضمن عبارة Or مع الانتباه إلى أنه يجب استخدام عبارتين ضمن كل عبارة Or, كما في المثال التالي:
<Query>
<Where>
<Or>
<Eq>
<FieldRef Name="DisplayAtMain" />
<Value Type="Boolean">1</Value>
</Eq>
<Eq>
<FieldRef Name="Title" />
<Value Type="Text">تجربة</Value>
</Eq>
</Or>
</Where>
</Query>
في المثال السابق تظهر النتائج عندما تكون قيمة الحقل DisplayAtMain = 1 (TRUE) أو قيمة الحقل النصي Title تساوي "تجربة".
أما في حال استخدام العبارة Or من أجل أكثر من عبارتين فيجب تضمين عبارة Or داخل عبارة Or خارجية وذلك كما في المثال التالي:
<query>
<Where>
<Or>
<And>
<Eq>
<FieldRef Name="DisplayAtMain" />
<Value Type="Boolean">1</Value>
</Eq>
<Eq>
<FieldRef Name="Title" />
<Value Type="Text">تجربة</Value>
</Eq>
</And>
<Gt>
<FieldRef Name="ID" />
<Value Type="Number">10</Value>
</Gt>
</Or>
</Where>
</query>
في المثال السابق تظهر نتائج عندما يتحقق أحد الشرطين فإما (تكون قيمة الحقل DisplayAtMain = 1 (TRUE) و قيمة الحقل النصي Title تساوي "تجربة") أو (قيمة الحقل ID أكبر تماماً من القيمة 10). وهنا نلاحظ كيف تمت كتابة الشرطين الأولين ضمن عبارة And وعبارة And نفسها تم تضمينها ضمن عبارة Or.
تستخدم عبارة And ضمن عبارة Or أو عبارة Where مباشرة وطبعاً من المعروف أن عبارة And المنطقية تعمل بالطريقة التالية:
TRUE | OR | TRUE | TRUE |
TRUE | OR | FALSE | FALSE |
FALSE | OR | TRUE | FALSE |
FALSE | OR | FALSE | FALSE |
من الجدول السابق نستنتج أنه يجب أن تكون العبارتين صحيحتين لتكون نتيجة العبارة And تساوي TRUE. وتستخدم العبارة And ضمن لغة الاستعلام CAML كما يلي:
وضمن عبارة And يمكن استخدام البعارات التالية فقط:
- Or
- BeginsWith
- Contains
- DateRangesOverlap
- Eq
- Geq
- Gt
- IsNotNull
- IsNull
- Leq
- Lt
- Membership
- Neq
يمكن استخدام أي تتابع من العبارات السابقة ضمن عبارة And مع الانتباه إلى أنه يجب استخدام عبارتين ضمن كل عبارة And, كما في المثال التالي:
<Query>
<Where>
<And>
<Eq>
<FieldRef Name="DisplayAtMain" />
<Value Type="Boolean">1</Value>
</Eq>
<Eq>
<FieldRef Name="Title" />
<Value Type="Text">تجربة</Value>
</Eq>
</And>
</Where>
</Query>
في المثال السابق تظهر النتائج عندما تكون قيمة الحقل DisplayAtMain = 1 (TRUE) و قيمة الحقل النصي Title تساوي "تجربة".
أما في حال استخدام العبارة And من أجل أكثر من عبارتين فيجب تضمين عبارة And داخل عبارة And خارجية وذلك كما في المثال التالي:
<Query>
<Where>
<And>
<And>
<Eq>
<FieldRef Name="DisplayAtMain" />
<Value Type="Boolean">1</Value>
</Eq>
<Eq>
<FieldRef Name="Title" />
<Value Type="Text">تجربة</Value>
</Eq>
</And>
<Gt>
<FieldRef Name="ID" />
<Value Type="Number">10</Value>
</Gt>
</And>
</Where>
</Query>
في المثال السابق تظهر نتائج عندما يتحقق أحد الشرطين فإما (تكون قيمة الحقل DisplayAtMain = 1 (TRUE) و قيمة الحقل النصي Title تساوي "تجربة") و (قيمة الحقل ID أكبر تماماً من القيمة 10). وهنا نلاحظ كيف تمت كتابة الشرطين الأولين ضمن عبارة And وعبارة And نفسها تم تضمينها ضمن عبارة And أخرى.
يعطيك العافية.. على الشرح الوافي
ردحذف