في الآونة الأخيرة ، واجهت مشاكل معالجة دفعة البيانات عندما كنت أكتب وحدة تطوير قاعدة البيانات لصديق جيد.
لقد فكرت في بعض أساليب التطوير لمعالجة دفعة البيانات ، وأجرؤ على الاستمتاع بملخص خاص ومشاركته معك.
في أنظمة تطبيق قاعدة البيانات ، غالبًا ما يتم تجميع البيانات ، مثل إلحاق وحذف وتغيير.
يتم إجراء عملية الدُفعات هذه باستخدام الأوامر المقابلة في أدوات تطوير قاعدة البيانات الخاصة مثل VFP باستخدام أوامر الإلحاق والنسخ.
يمكن إكمال شروط القيادة بسهولة. ومع ذلك ، لا توجد أوامر مماثلة في أدوات التطوير الأخرى.
بدلاً من ذلك ، يوفر عناصر تحكم أو كائنات يمكنها إكمال وظائف مماثلة ، كما هو الحال في PowerBuilder
استخدم خط الأنابيب (خط أنابيب البيانات) لإكمال معالجة دفعة البيانات بين جدولين أو متشابكين أو مختلفون.
تقدم هذه المقالة طريقة معالجة الدُفعات باستخدام مكونات المؤقت عند استخدام Delphi لتطوير قاعدة البيانات.
في Delphi Development ، فإن الأساليب الأكثر استخدامًا هي ADO و BDE عند استخدام Delphi لتطوير قاعدة البيانات.
لذا أمضت بورلاند الكثير من الخبرة على مكونات BDE ، لذلك هناك عنصر تحكم في TBatchMove على معالجة دفعة البيانات التي يمكنها إكمال معالجة دفعة البيانات.
يجب إكمال العملية المحددة عن طريق تعيين خاصية وضع TbatchMove ثم استدعاء طريقة التنفيذ. مساعدة في BDE.
يمكن العثور على النتائج الفعلية لمختلف أوضاع التشغيل في هذه المقالة من سطح مكتب قاعدة بيانات دلفي
تم عرضه في.
ليس هذا هو محور هذه المقالة ، لذلك لن أشرح ذلك.
تركيز هذه المقالة هو: طريقة معالجة الدُفعات للبيانات في ADO.
عندما تحصل على هذه المشكلة ، فإن الطريقة العامة هي اجتياز جميع البيانات وإدخالها.
ومع ذلك ، فإن ما أريد التحدث عنه هنا هو طريقة معالجة الدُفعات السريعة والفعالة.
الإجراء tform1.formcreate (المرسل: tobject) ؛
var
MyPath: سلسلة.
كونست
mypassw = '****' ؛
يبدأ
myPath: = extractfilepath (paramstr (0)) ؛
adoconnection1.connectionString: = 'Provider = Microsoft.jet.oledb.4.0 ؛ Data Source ='+
MyPath+'DB/DB.MDB ؛ Jet OLEDB: Database Password ='+
mypassw+'؛ استمرار معلومات الأمان = false' ؛
///////////// قم بإعداد محرك البيانات وتحميل كلمة المرور
adoconnection1.loginprompt: = false ؛
adoconnection1.connected: = true ؛
adotable1.connection: = adoconnection1 ؛
Adotable1.TablEname: = 'tab1' ؛
adotable2.connection: = adoconnection1 ؛
Adotable2.TablEname: = 'tab2' ؛
يحاول
adotable2.Open ؛
adotable1.Open ؛
datasource1.dataset: = adotable1 ؛
dbgrid1.datasource: = datasource1 ؛
dbnavigator1.datasource: = datasource1 ؛
يستثني
MessageBox (0 ، "لا يمكن فتح قاعدة البيانات" ، "خطأ" ، MB_OK) ؛
نهاية؛
/////////////////////
يبدأ
/////////////////////// معالجة بيانات الدُفعات من الجداول غير المتجانسة التي تؤدي التحكم في الأخطاء
datasource2.dataset.insert ؛
adotable2.fields [0] .AstRing: = adotable1.fields [0] .AssTring ؛
adotable2.fields [1] .Astring: = adotable1.fields [1] .AssTring ؛
datasource1.dataset.next ؛
إذا كانت datasource1.dataset.eof = true ثم timer1.Enabled: = false ؛
إذا كانت datasource1.dataset.eof = true ثم showMessage ('تم استيراد البيانات بنجاح!') ؛
يستثني
MessageBox (0 ، "فشل استيراد البيانات" ، "خطأ" ، mb_ok) ؛
نهاية؛
نهاية؛
datamodule2.datasource1.dataset.next ؛ //////////////////////// هذه الجملة هي الأكثر أهمية ، أي عبارة حلقة.
يمكن تعيين وقت إدراج سجل (وقت استجابة المؤقت).
هذه هي وظيفة استيراد الدُفعات للبيانات بين الجداول غير المتجانسة التي صممتها خصائص مكون الموقت. السمة dataset.next.
بعد ذلك ، يمكن تنفيذ رمز مماثل للحذف والتحديث والوظائف الأخرى (استخدم سمات مصدر البيانات للتعديل).
نظرًا لوجود وظيفة استعلام ، أستخدم مكون Tadoquery في التطوير ، تقريبًا نفس الطريقة.
المؤلف: Viivd
البريد الإلكتروني: [email protected]
التاريخ: 2004.6.5