اريد اضهار نتائج محصورة بين تاريخين في الدلفي ?
#1
[صورة: 155688612736911.png]
كما ترون فيالصورة عندي جدول اسمه info 
اريد فلترته و اضهار جميع التسجيلات المحصورة بين التاريخين الذين سادخلهما في edit1. edit2 
طبعا كود sql يكون كما يلي 
كود :
 select * from info where date between 01/01/2019 and 01/01/2020
لكن كيف اجعل الكويري تاخذ القيم التي ادخلتهما في ال edit1. edit2
وشكرا
الرد
#2
السلام عليكم ،
باستعمال الباراميتر في 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) ; 
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#3
اخي
قيمة الباراميتر اي الكود الذي كتبته
هل اضعه في الزر show
اضعه كماهو مكتوب هكذا MyQuery1.parambyname('D1').AsDate := strtodate(edit1.text) ;
MyQuery1.parambyname('D2').AsDate := strtodate(edit2.text) ;
لانه اعطاني خطء
انا حاطط adoquery3 وضعت فيها الاستعلام
ولما رحت للزر ووضعت قيمة الباراميتر اعطاني خطء
انا حاليا مبتدء في الدلفي حاول تروح معياي خطورة بخطوة
وشكراااااا

[img][صورة: 155689703963561.png][/img]

Undecided
[img][صورة: 155689708128681.png][/img]
Sad
وضعت الاستعلام 
ووصعت الكود القيمة في الزر 
ويضهرلي خطء
الرد
#4
السلام عليكم

PHP كود :
BETWEEN :D1 and :D2 
و ليس
PHP كود :
BETWEEN =:D1 and :D2 
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#5
أنت لم تخبرنا بأنك تستعمل ال ADO Cool 

في حالتك مع ال 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؟
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#6
شكرااا لكم كثييرااا اشتغل الكود بنجاح

لو استعمل data time picker . هل يتغير الكود ??

لو استعمل datimepicker عوض edit 
هذا يعني انو نغير كود القيمة و الsql ??
[-] كل من 1 user says قال شكرا ل hamza101110 على المشاركة المفيدة
  • S.FATEH
الرد
#7
لا،
كود ال 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 ; 
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم