FieldDatabase

FieldDatabase class

ينفذ حقل قاعدة البيانات.

لمعرفة المزيد، قم بزيارةالعمل مع الحقول مقالة توثيقية.

public class FieldDatabase : Field

المنشئون

اسموصف
FieldDatabase()Default_Constructor

الخصائص

اسموصف
Connection { get; set; }الحصول على اتصال بالبيانات أو تعيينه.
DisplayResult { get; }الحصول على النص الذي يمثل نتيجة الحقل المعروض.
End { get; }يحصل على العقدة التي تمثل نهاية الحقل.
FileName { get; set; }الحصول على أو تعيين المسار الكامل واسم الملف لقاعدة البيانات
FirstRecord { get; set; }الحصول على رقم السجل المتكامل لسجل البيانات الأول المراد إدراجه أو تعيينه.
Format { get; }يحصل علىFieldFormat الكائن الذي يوفر الوصول المكتوب إلى تنسيق الحقل.
FormatAttributes { get; set; }الحصول على أو تعيين سمات التنسيق التي سيتم تطبيقها على الجدول.
InsertHeadings { get; set; }الحصول على أو تحديد ما إذا كان سيتم إدراج أسماء الحقول من قاعدة البيانات كعناوين أعمدة في الجدول الناتج.
InsertOnceOnMailMerge { get; set; }الحصول على أو تعيين ما إذا كان سيتم إدراج البيانات في بداية عملية الدمج.
IsDirty { get; set; }الحصول على أو تعيين ما إذا كانت النتيجة الحالية للحقل لم تعد صحيحة (قديمة) بسبب تعديلات أخرى تم إجراؤها على المستند.
IsLocked { get; set; }الحصول على أو تعيين ما إذا كان الحقل مقفلاً (لا ينبغي إعادة حساب النتيجة).
LastRecord { get; set; }الحصول على رقم السجل المتكامل لآخر سجل بيانات سيتم إدراجه أو تعيينه.
LocaleId { get; set; }الحصول على أو تعيين LCID الخاص بالحقل.
Query { get; set; }الحصول على أو تعيين مجموعة من تعليمات SQL التي تستعلم عن قاعدة البيانات.
Result { get; set; }الحصول على أو تعيين النص الموجود بين فاصل الحقل ونهاية الحقل.
Separator { get; }يحصل على العقدة التي تمثل فاصل الحقول. يمكن ان يكونباطل .
Start { get; }يحصل على العقدة التي تمثل بداية الحقل.
TableFormat { get; set; }الحصول على أو تعيين التنسيق الذي سيتم تطبيقه على نتيجة استعلام قاعدة البيانات.
virtual Type { get; }الحصول على نوع حقل Microsoft Word.

طُرق

اسموصف
GetFieldCode()إرجاع النص بين بداية الحقل وفاصل الحقل (أو نهاية الحقل إذا لم يكن هناك فاصل). يتم تضمين كل من رمز الحقل ونتيجة الحقل للحقول الفرعية.
GetFieldCode(bool)إرجاع النص بين بداية الحقل وفاصل الحقل (أو نهاية الحقل إذا لم يكن هناك فاصل).
Remove()إزالة الحقل من المستند. إرجاع عقدة مباشرة بعد الحقل. إذا كانت نهاية الحقل هي الطفل الأخير للعقدة الأصلية، فسيتم إرجاع الفقرة الأصلية الخاصة به. إذا تمت إزالة الحقل بالفعل، فسيتم إرجاعهباطل .
Unlink()يقوم بإلغاء ربط الحقل.
Update()يقوم بإجراء التحديث الميداني. يتم الرمي إذا تم تحديث الحقل بالفعل.
Update(bool)إجراء تحديث ميداني. يتم الرمي إذا تم تحديث الحقل بالفعل.

ملاحظات

إدراج نتائج استعلام قاعدة البيانات في جدول WordprocessingML.

أمثلة

يوضح كيفية استخراج البيانات من قاعدة البيانات وإدراجها كحقل في المستند.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// سيقوم حقل قاعدة البيانات هذا بتشغيل استعلام في قاعدة بيانات، ويعرض النتيجة في جدول.
FieldDatabase field = (FieldDatabase)builder.InsertField(FieldType.FieldDatabase, true);
field.FileName = DatabaseDir + "Northwind.accdb";
field.Connection = "Provider=Microsoft.ACE.OLEDB.12.0";
field.Query = "SELECT * FROM [Products]";

Assert.AreEqual($" DATABASE  \\d {DatabaseDir.Replace("\\", "\\\\") + "Northwind.accdb"} \\c Provider=Microsoft.ACE.OLEDB.12.0 \\s \"SELECT * FROM [Products]\"", field.GetFieldCode());

// قم بإدراج حقل قاعدة بيانات آخر باستخدام استعلام أكثر تعقيدًا يقوم بفرز جميع المنتجات بترتيب تنازلي حسب إجمالي المبيعات.
field = (FieldDatabase)builder.InsertField(FieldType.FieldDatabase, true);
field.FileName = DatabaseDir + "Northwind.accdb";
field.Connection = "Provider=Microsoft.ACE.OLEDB.12.0";
field.Query =
    "SELECT [Products].ProductName, FORMAT(SUM([Order Details].UnitPrice * (1 - [Order Details].Discount) * [Order Details].Quantity), 'Currency') AS GrossSales " +
    "FROM([Products] " +
    "LEFT JOIN[Order Details] ON[Products].[ProductID] = [Order Details].[ProductID]) " +
    "GROUP BY[Products].ProductName " +
    "ORDER BY SUM([Order Details].UnitPrice* (1 - [Order Details].Discount) * [Order Details].Quantity) DESC";

// هذه الخصائص لها نفس وظيفة جمل LIMIT وTOP.
// قم بتكوينها لعرض الصفوف من 1 إلى 10 فقط من نتيجة الاستعلام في جدول الحقل.
field.FirstRecord = "1";
field.LastRecord = "10";

// هذه الخاصية هي فهرس التنسيق الذي نريد استخدامه لجدولنا. توجد قائمة تنسيقات الجدول في قائمة "التنسيق التلقائي للجدول...".
// الذي يظهر عندما نقوم بإنشاء حقل قاعدة بيانات في Microsoft Word. يتوافق الفهرس رقم 10 مع تنسيق "ملون 3".
field.TableFormat = "10";

// الخاصية FormatAttribute عبارة عن تمثيل سلسلة لعدد صحيح يقوم بتخزين أعلام متعددة.
// يمكننا تطبيق التنسيق الذي تشير إليه خاصية TableFormat بشكل وطني عن طريق تعيين علامات مختلفة في هذه الخاصية.
// الرقم الذي نستخدمه هو مجموع مجموعة من القيم المقابلة لجوانب مختلفة من نمط الجدول.
// 63 يمثل 1 (الحدود) + 2 (التظليل) + 4 (الخط) + 8 (اللون) + 16 (الاحتواء التلقائي) + 32 (صفوف العناوين).
field.FormatAttributes = "63";
field.InsertHeadings = true;
field.InsertOnceOnMailMerge = true;

doc.FieldOptions.FieldDatabaseProvider = new OleDbFieldDatabaseProvider();
doc.UpdateFields();

doc.Save(ArtifactsDir + "Field.DATABASE.docx");

أنظر أيضا