![[صورة: 155688612736911.png]](https://up.djelfa.info/uploads/155688612736911.png)
كما ترون فيالصورة عندي جدول اسمه info
اريد فلترته و اضهار جميع التسجيلات المحصورة بين التاريخين الذين سادخلهما في edit1. edit2
طبعا كود sql يكون كما يلي
كود :
select * from info where date between 01/01/2019 and 01/01/2020
لكن كيف اجعل الكويري تاخذ القيم التي ادخلتهما في ال edit1. edit2
وشكرا
السلام عليكم ،
باستعمال الباراميتر في SQL يمكن فعل ذلك ببساطة .
PHP كود :
Select *
FROM MyTable
Where MyDate BETWEEN :D1 and :D2
يعد ذلك نقوم بإمرار قيمة الباراميتر كالآتي :
PHP كود :
MyQuery1.parambyname('D1').AsDate := strtodate(edit1.text) ;
MyQuery1.parambyname('D2').AsDate := strtodate(edit2.text) ;
اخي
قيمة الباراميتر اي الكود الذي كتبته
هل اضعه في الزر show
اضعه كماهو مكتوب هكذا MyQuery1.parambyname('D1').AsDate := strtodate(edit1.text) ;
MyQuery1.parambyname('D2').AsDate := strtodate(edit2.text) ;
لانه اعطاني خطء
انا حاطط adoquery3 وضعت فيها الاستعلام
ولما رحت للزر ووضعت قيمة الباراميتر اعطاني خطء
انا حاليا مبتدء في الدلفي حاول تروح معياي خطورة بخطوة
وشكراااااا
[img]
![[صورة: 155689703963561.png]](https://up.djelfa.info/uploads/155689703963561.png)
[/img]
[img]
![[صورة: 155689708128681.png]](https://up.djelfa.info/uploads/155689708128681.png)
[/img]
وضعت الاستعلام
ووصعت الكود القيمة في الزر
ويضهرلي خطء
أنت لم تخبرنا بأنك تستعمل ال ADO
في حالتك مع ال ADO :
PHP كود :
ADOQuery1.Parameters.ParamByName('D1').Value := strtodate(edit1.text) ;
ADOQuery1.Parameters.ParamByName('D1').Value := strtodate(edit1.text) ;
فقط لا تنس إغلاق ADOQuery1 قبل تمرير الباراميتر .
فيصبح الكود كالآتي :
PHP كود :
ADOQuery1.Close ;
ADOQuery1.Parameters.ParamByName('D1').Value := strtodate(edit1.text) ;
ADOQuery1.Parameters.ParamByName('D1').Value := strtodate(edit1.text) ;
ADOQuery1.Open ;
ملاحظة فقط :
لماذا لا تستعمل مكونات datetimepicker عوضا عن ال Edit؟
شكرااا لكم كثييرااا اشتغل الكود بنجاح
لو استعمل data time picker . هل يتغير الكود ??
لو استعمل datimepicker عوض edit
هذا يعني انو نغير كود القيمة و الsql ??
لا،
كود ال sql يبقى كما هو ،
فقط قيمة الباراميتر تتغر ،
فعوضا ان تكتب
strtodate(edit1.text)
تكتب
Datetimepicker1.date
PHP كود :
ADOQuery1.Close ;
ADOQuery1.Parameters.ParamByName('D1').Value := Datetimepicker1.date ;
ADOQuery1.Parameters.ParamByName('D1').Value := Datetimepicker2.date ;
ADOQuery1.Open ;