delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيفية تسريع تحميل السجلات في dbgrid
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
لدي قاعدة بيانات بها جداول تضم عدد كبير من السجلات..عند تحميلها إلى dbgrid فإنها تأخذ وقتا طويلا...ألاحظ خلاله حركة scroll حتى تكتمل..... هل من طريقة لتفادي هذا المشكل؟
السلام عليكم

يمكنك تحديد عدد التسجيلات المختارة ، لاحظ المثال في الصورة ( إياك أن تعمل مثلها عندي براءة إختراع :p )

[صورة: scrollcc.png]

الأكسس
كود :
SELECT TOP 25
كود :
http://office.microsoft.com/en-001/access-help/all-distinct-distinctrow-top-predicates-HA001231351.aspx
فايربيرد
كود :
SELECT FIRST 10 SKIP 20 column1, column2, column3 FROM
كود :
http://scott.yang.id.au/2004/01/limit-in-select-statements-in-firebird/
MySQL and Oracle SQL Server
كود :
http://www.w3schools.com/sql/sql_top.asp
ما المكونات المستخدمة في الإتصال ؟

بالتوفيق
شكرا على التفاعل
أنا أستخدم قاعدة بيانات أكسس ....أما عن المكونات فهي ado .
كيف يمكنني استخدام الكود السابق؟
أقدم لك الإستعلامات و الباقي عليك

NEXT
كود :
SELECT TOP 25 id,field1.. from table where id>lastrecordnum
id حقل معرف نوع رقمي Autoinc أوتوماتيكي أو يدوي
lastrecordnum رقم آخر سجل في الجدول

PRIOR
كود :
SELECT TOP 25 id,field1.. from table where id<firstrecordnum
firstrecordnum رقم أول سجل في الجدول

+ لتحسين الأداء راجع مجلة منتدى دلفي للعرب : العدد 05

بالتوفيق
لما لا تستخدم Thread ؟
أنا أرغب في ظهور جميع السجلات لكن مع سرعة في التحميل ...أو وضع شريط تقدم التحميل حتى لا ينزعج المستخدم ..... عموما أنا أرغب كذلك في الاستفادة من الاقتراح المقدم....
بوركتم جميعا......
إقتباس : لما لا تستخدم Thread ؟
على ماأظن لا يمكن 'ليس لها فائدة'؟ ( لأنه بإستخدام CursorLocation clClient عند فتح الـ DataSet لا يتم العرض حتى ينتهي التحميل )
كنت أبحث سابقا عن حل لذلك وهو بفتح الـ DataSet ـ asynchronously لكن توقفت عندما سمعت عن الأخطاء Bugs الموجودة في asynchronous و ado
لتحسين الأداء بإختصار ضع CursorLocation clServer
+ حل آخر ضع progress bar و إجعلها تتحرك ليصبر المستخدم Big Grin
أو الحل الأول أفضل : تظهر 100 تسجيل مثلا و تتجول بالمئات بزري NEXT و PRIOR

بالتوفيق
شكرا جزيلا أخي Lam.Abdeldjalil ...
سوف أجرب ما اقترحته ... وقد أستفسر إذا ما استعصى علي الأمر...
إقتباس :الحل الأول أفضل : تظهر 100 تسجيل مثلا و تتجول بالمئات بزري NEXT و PRIOR

هذا يبدو جيدا
Lam.Abdeldjalil كتب :السلام عليكم
يمكنك تحديد عدد التسجيلات المختارة ، لاحظ المثال في الصورة ( إياك أن تعمل مثلها عندي براءة إختراع :p )
[صورة: scrollcc.png]

أنا أجول المنتدى هنا و هناك عن firebird يبدو الأخ عبد الجليل هو ملازمي في هذه النزهة أينما ذهبت ، بارك الله فيك أخي الكريم

لكن و الله أتعبتنا لينكات الصور ، هذه الينكات اللعينة حرمتنا براءة الإختراع
من الافضل لو تكون dbgrid مرقمة ( بالصفحات)

PHP كود :
SELECT column_name(s)
    
FROM table_name
    LIMIT number
; 
الصفحات : 1 2