delphi4arab منتديات دلفي للعرب
البحث في قاعدة بيانات كبيرة من نوع Dbf - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : البحث في قاعدة بيانات كبيرة من نوع Dbf (/showthread.php?tid=146)



البحث في قاعدة بيانات كبيرة من نوع Dbf - delphi4ever - 20-04-2008

السلام عليكم ورحمة الله تعالى وبركاته

حصل معي مشكل عندما كنت اود القيام بعملية بحث في قاعدة بيانات تحتوي على 40ألف سجل بيانات،
عملية البحث تستغرق مدة طويلة جدا مع ثقل البرنامج وتعطيله عند البحث...
هل من طريقة نافعة؟


البحث في قاعدة بيانات كبيرة من نوع Dbf - محمد عبد العزيز - 20-04-2008


حاول ان تعمل Pack للقاعدة لكي تتخلص من السجلات المحذوفة
وبعدها ReIndex اعد الأدلة الفريدة
-
ان كنت تستخدم المكون TTable فاسرع وسيلة للبحث هي Locate
-
او استعمل Query للبحث احسن

والسلام عليكم ورحمة الله



البحث في قاعدة بيانات كبيرة من نوع Dbf - xinofix - 20-04-2008

لا شك وأنك تستعمل قاعدة بيانات Paradox
وفي هذه الحالة لامفر من المرور بمحرك BDE الثقيل
وبالنظر إلى العدد الكبير للسجلات، فإنه لا مناص من أن تصادف مشكل البطء
هذا إن لم تصادف إنهيار المشروع فيما بعد
أحسن طريقة للتخفيف هي إستعمال الفلتر
لاينصح باستخدام Paradox في برامج كبيرة
أنصحك بما يلي: Absolute - CodeBase - Apollo - Elevate - MySQL ...

[ أنظر هنا وقارن
كود :
http://www.codebase.com/products/perfstats.php http://www.componentace.com/bde_replacement_database_delphi_absolute_database.htm



البحث في قاعدة بيانات كبيرة من نوع Dbf - محمد عبد العزيز - 21-04-2008

DBF ليس قواعد بيانات Paradox وانما DBase الشهيرة في الثمانينات على ايام DOS
وجود DBF ليس دليل حتى على استعمال محرك BDE اذ يمكن التعامل مع DBF باستخدام مكونات اخرى

بالنسبة لعدد السجلات والانهاير فهذا راجع للمبرمج وطريقة تصميم قواعده
اعطيك مثال: لدي برنامج تستخدمه جهة حكومية منذ سنة 2001 ولم يحدث به اي مشكل
مع العلم انه يتم اضافة الاف السجلات كل 21 يوم

اخيرا لا نرمي كل مرة اللوم على BDE والعيب فينا

والسلام عليكم ورحمة الله



البحث في قاعدة بيانات كبيرة من نوع Dbf - مهدي - 21-04-2008

و عليكم السلام و رحمة الله

لتسريع البحث عليك بتعطيل الكائنات التي تقوم بعرض بيانات القاعدة كـDBEdit1 ... في وقت البحث مثلا
كود :
Table1.DisableControls; أمر البحث Table1.EnableControls;
أو

كود :
Datasource1.Enabled:=False; أمر البحث Datasource1.Enabled:=True;
إقتباس :[FONT=Arial]لا شك وأنك تستعمل قاعدة بيانات Paradox
[FONT=Arial]وفي هذه الحالة لامفر من المرور بمحرك BDE الثقيل
[FONT=Arial]وبالنظر إلى العدد الكبير للسجلات، فإنه لا مناص من أن تصادف مشكل البطء
[FONT=Arial]هذا إن لم تصادف إنهيار المشروع فيما بعد
إلى الآن مازالت كودجير متمسكة به في إصدارها الأخير لـ 2007 و أنا إلى الآن لم أجد معه مشاكل إلا مشكل حماية البيانات بكلمة المرور الذي اكتشفته مؤخرا و خطأ سجلات الـBlobs في حالة تغيير المتحوياتها.


البحث في قاعدة بيانات كبيرة من نوع Dbf - adelpro - 26-04-2008

السلام عليكم
فقط اضافة شيء: لتسريع البحث في قاعدة البيانات لا بد من اضافة دليل وحيد Index وهو الاسلوب الامثل لتسريع قاعدة البيانات


البحث في قاعدة بيانات كبيرة من نوع Dbf - shibahop - 30-04-2008

اتبع ما نصح به الاخ مهدي
حاول الا تستعمل في مشروعك كائنات DB مثلا استعمل Edit مكان DBNEdit

اذا اردت اخال تسجيلات عن طريق Edit اكتب
كود :
table1.fieldbyname('nom').asstring:=edit1.text
او
كود :
table1.fieldvalues['nom']:=edit1.text