1. حالة الاسم المستعار لقاعدة البيانات
يوفر محرك قاعدة البيانات المدمج في Delphi BDE (محرك قاعدة بيانات Borland) وظائف قوية لمعالجة قاعدة البيانات ، و BDE هي الجزء الأساسي من وظيفة قاعدة بيانات Delphi.
عند أخذ قاعدة بيانات محلية تستخدمها فقط جهاز مستقل كمثال ، يمكن لبرنامج Delphi التحكم مباشرة في الوصول إلى بيانات قاعدة البيانات من خلال BDE. يعتمد عنصر التحكم في الوصول إلى تكوين معلمات BDE على وجه التحديد. جداول قاعدة بيانات محددة. لذلك ، عند إنشاء جدول قاعدة البيانات ، يجب أن يكون هناك عمليتان: أحدهم هو اكتشاف الاسم المستعار لقاعدة البيانات المقابلة من خلال BDE. (أي قاعدة البيانات) في الاسم المستعار لقاعدة البيانات (أي قاعدة البيانات) ما إذا كان هناك جدول قاعدة بيانات يحتاج إلى تأسيس ، إذا لم يكن موجودًا ، فسيتم تأسيسه. وبهذه الطريقة ، يتم حماية البيانات الموجودة في الجدول الأصلي من الخسارة.
2. مكون الجلسة: واجهة بين برنامج قاعدة بيانات Delphi و BDE
يوفر Delphi تلقائيًا مكون جلسة لتطبيقات قاعدة البيانات ، وهو مفتاح واجهة التطبيق مع BDE. فيما يلي وصف النموذج الأولي للعديد من عمليات مكون الجلسة فيما يتعلق بواجهة BDE.
1.GetAliasNames (القائمة: TSTRINGS) ؛
2.addstandardalias (اسم const ، المسار ، الافتراضي: سلسلة) ؛ على سبيل المثال ، أضف اسم مستعار يسمى CNTSSAMP ، وبرنامج تشغيل قاعدة البيانات الافتراضي هو مفارقة ، ومسار التخزين هو c:/delphp11:
Session.AddStandardAlias (CNTSSAMP ، C:/Delphp11 ، Paradox) ؛
3.GetTablenames (const databasename ، النمط: string ؛ extensions ، systemtables: boolean ؛ list: tstrings) ؛
4.SaveconFigfile ؛
بالإضافة إلى ذلك ، استخدم قيمة القائمة. indexof (السلسلة المحددة) لتحديد ما إذا كانت هناك سلاسل مطلوبة في قائمة السلسلة لتحديد ما إذا كان ينبغي تحديد اسم قاعدة بيانات جديدة وجدول قاعدة البيانات.
3. مثال
اكتب الرمز التالي في حدث form1.formcreate. CNTSSAMP.
الإجراء tform1.FormCreate (المرسل: tobject
var
AP: TstringList ؛
الجواب: عدد صحيح.
يبدأ
AP: = tstringList.create ؛
Session.getaliasnames (AP) ؛
if (ap.indexof (cntssamp) =-1) ثم {حدد ما إذا كان الاسم المستعار موجود}
يبدأ
الإجابة: = application.messagebox (الاسم المستعار CNTSSAMP غير موجود ، هل تم إنشاؤه الآن؟ ، نافذة معلومات BDE ، MB - OKCancel) ؛ {إضافة اسم قاعدة بيانات اسمه CNGZSAMP}
إذا كان الإجابة = idcancel ثم
يبدأ
ap.free ؛
مخرج؛
نهاية؛
Session.AddStandardAlias (CNTSSAMP ، C:/Delphp11 ، Paradox) ؛
Session.saveconfigfile ؛
نهاية ؛
ap.clear ؛
session.getTablenames (CNTSSAMP ، ، خطأ ، خطأ ، AP) ؛
if (ap.indexof (tsk) =-1) ثم {حدد ما إذا كان الجدول موجود}
يبدأ
الإجابة: = application.messagebox (الجدول TSK غير موجود في الاسم المستعار CNTSSAMP ، هل تم إنشاؤه الآن؟ ، نافذة معلومات الجدول ، MB - OkCancel) ؛
إذا كان الإجابة = idcancel ثم
ap.free ؛
مخرج؛
نهاية؛
مع Table1 تفعل
يبدأ
نشط: = خطأ ؛
databasename: = cntssamp ؛
TableName: = TSK ؛
TableType: = ttparadox ؛
مع FieldDefs تفعل
ابدأ {إضافة حقل}
واضح؛
إضافة (sh ، ftstring ، 30 ، false) ؛
إضافة (SM ، ftstring ، 30 ، false) ؛
إضافة (CBS ، ftstring ، 20 ، خطأ) ؛
إضافة (CBRQ ، ftdate ، 0 ، false) ؛
إضافة (ys ، ftinteger ، 0 ، false) ؛
نهاية؛
مع indexDefs تفعل
ابدأ {إضافة فهرس}
واضح ؛
أضف (shsy ، sh ، [primary ، ixunique]) ؛
نهاية؛
Createable ؛
نهاية؛
نهاية ؛
AP.Free ؛
نهاية؛