هل تعلم ان الـ Filtter الخاص بالـ DataSet لا يفلتر البيانات من قاعدة البيانات وانما بالذاكرة
هذا السؤال الذي بحتثت عنه كثيرا في الكتب والمراجع ولم اجد اجابة له
وبعدها خطرت لي فكرة ان اتأكد بنفسي هل عندما افلتر البيانات يقوم بتوليد جملة SQL ويعود بالبيانات من قاعدة البيانات ام يفلتر البيانات التي فعلا جاء بها مسبقا
1: قم بعرض البيانات في DBGRID وافتح الاتصال
2: انتقل الى الجدول بقاعدة البيانات وغير في قيمة حقل ما
3: الان قم بتفعيل الفلتر الذي تريده
ما ستلاحظه ان القيم كما هي لم تتغير وهذا يدل ان الفلترة تمت بالذاكرة فقط
ولن يحدث تحديث للبيانات الا بحال قفل وفتح الاتصال
وبهذا الفلترة هي انسب واسرع لبرنامج تحتاج الى سرعة التنفيذ له مثل ن يكون على شبكة او متصل بقاعدة بيانات على الانترنت
فعندما تجلب كمية كبيرة من البيانات الأفضل استخدام الفلتر بدل من استخدام جملة SQL
هذا السؤال الذي بحتثت عنه كثيرا في الكتب والمراجع ولم اجد اجابة له
وبعدها خطرت لي فكرة ان اتأكد بنفسي هل عندما افلتر البيانات يقوم بتوليد جملة SQL ويعود بالبيانات من قاعدة البيانات ام يفلتر البيانات التي فعلا جاء بها مسبقا
1: قم بعرض البيانات في DBGRID وافتح الاتصال
2: انتقل الى الجدول بقاعدة البيانات وغير في قيمة حقل ما
3: الان قم بتفعيل الفلتر الذي تريده
ما ستلاحظه ان القيم كما هي لم تتغير وهذا يدل ان الفلترة تمت بالذاكرة فقط
ولن يحدث تحديث للبيانات الا بحال قفل وفتح الاتصال
وبهذا الفلترة هي انسب واسرع لبرنامج تحتاج الى سرعة التنفيذ له مثل ن يكون على شبكة او متصل بقاعدة بيانات على الانترنت
فعندما تجلب كمية كبيرة من البيانات الأفضل استخدام الفلتر بدل من استخدام جملة SQL
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم


![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)