![]() |
|
بطى وتعليق عند البحث في قاعده بيانات - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : بطى وتعليق عند البحث في قاعده بيانات (/showthread.php?tid=2529) |
بطى وتعليق عند البحث في قاعده بيانات - محمد الدرة - 28-10-2010 بسم الله الرحمن الرحيم السلام عليكم ورحمه الله وبركاته مشكلتي بعد ان وجدت داله pos التي تقوم بالبحث عن كلمه داخل حقل واجهتني مشكله فقط للتعريف لدي قاعده بيانات اكسس ربطتها بالدلفي باستخدام اداه adotable استخدمت زر للبحث عن حقل الاسماء بحيث لو بحثت مثلاً عن كلمه محمد تظهر الاسماء المتعلقه به سواء كان اسم الشخص او ابيه اوجده يوجد فيقاعده البيانات 600000 سجل باستخدام هذا الكود PHP كود : while not Table1.Eof doوايضاً يكون البحث بطيى جداً مقارنه ببعض البرامج الذي تستخدم نفس قواعد البيانات السؤال كيف يمكنني ان اجعل البحث سريع وبنفس فعاليه الداله pos وكيف اجعل النتائج تظهر في listbox بدون ان يعلق البرنامج ولكم جزيل الشكر بطى وتعليق عند البحث في قاعده بيانات - shagrouni - 28-10-2010 السلام عليكم أعتقد أن البطء ناتج عن عمليات الادخال في ListBox قم بتعطيل العرض في listbox قبل عملية البحث ثم فعلها من جديد كود : ListBox1.Items.BeginUpdate;
while not Table1.Eof do
begin
if Pos(Edit1.Text, Table1.FieldByName('CodeField').AsString) > 0 then
begin
ListBox1.Items.Add(Table1.FieldByName('CodeNo').AsString);
end;
Table1.Next;
end;
ListBox1.Items.EndUpdate;بطى وتعليق عند البحث في قاعده بيانات - shagrouni - 28-10-2010 أيضا فيما يخص السرعة: - استخدام ADOQuery أفضل من AdoTable - استخدام AdoDataSet أفضل من ADOQuery - إذا كنت تستخدم قاعدة بيانات اكسيس قم بتحديد خاصية CursorLocation إلى clServer -- حاول استكشاف تأثيرات الخواص: CursorType بقيمة ctOpenForwardOnly ، و الخواص LockType و ReadOnly بطى وتعليق عند البحث في قاعده بيانات - hanipino - 28-10-2010 السلام عليكم كود : النتائج جيده لكن بعد فتره يصاب البرنامج بالشلل التام ويتوقف عن الاستجابهاذا كانت الوحدة DB معرفة فى برنامجك من جراء استعمال مكونات الاتصال جرب استعمال الدالة ProcessMessages كود : [color=Red]DB[/color].[color=Red]DB[/color]Application.ProcessMessages; |