delphi4arab منتديات دلفي للعرب
تمرير متغير الوقت الى ADOQuery - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : تمرير متغير الوقت الى ADOQuery (/showthread.php?tid=8116)

الصفحات: 1 2


تمرير متغير الوقت الى ADOQuery - mahmmoud - 25-08-2016

السلام عليكم اعضاء النتدي 
عندي سؤال كيف يتم تمرير  قيمة MonthCalendar1  الى ADOQuery فى دلفى 7
الستعلام
كود :
 SELECT "POSDETAIL"."ReduceInventory", "POSDETAIL"."QUAN", "POSDETAIL"."PRODTYPE", "POSDETAIL"."COSTEACH", "POSDETAIL"."OpenDate", "REPORTCAT"."DESCRIPT", "Product"."DESCRIPT", "POSDETAIL"."NetCostEach"  FROM   ("DBA"."POSDETAIL" "POSDETAIL" INNER JOIN "DBA"."Product" "Product" ON "POSDETAIL"."PRODNUM"="Product"."PRODNUM") INNER JOIN "DBA"."REPORTCAT" "REPORTCAT" ON "Product"."REPORTNO"="REPORTCAT"."REPORTNO"  WHERE  "POSDETAIL"."OpenDate"={d 'MonthCalendar1'} AND "POSDETAIL"."ReduceInventory">0 AND "POSDETAIL"."PRODTYPE"<>100  ORDER BY "REPORTCAT"."DESCRIPT", "Product"."DESCRIPT

البرنامج فى المرفقات


RE: تمرير متغير الوقت الى ADOQuery - أبو معاذ - 26-08-2016

وعليكم السلام ورحمة الله وبركاته ،
وأهلا وسهلا بك بيننا.
في الاستعلام   نفسه ، لكن في هذا الجزء:
كود :
 WHERE  "POSDETAIL"."OpenDate"={d 'MonthCalendar1'} تكتب :

كود :
WHERE  "POSDETAIL"."OpenDate"= :MyDate


حيث أن MyDate هو اسم الباراميتر.
وفي برنامج الدلفي لتمرير قيمة الباراميتر :

كود :
ADoQyery1.close ; ADoQuery1.Params.ParamByName('MyDate').Value:= DateTimePicker1.date ; ADOQyery1.open;



RE: تمرير متغير الوقت الى ADOQuery - mahmmoud - 26-08-2016

جزاك الله كل خير  
طيب لو اريد  ان اضع تاريخ الجهاز بدون ما يدخل المسخدم
ممكن تشرح الطريقة

شكرا اخي العزيز 
لكن الكود لم يعمل  ممكن  مزيد من التوضيح
البرنامج فى المرفقات لامزيد من التوضيح


RE: تمرير متغير الوقت الى ADOQuery - أبو معاذ - 26-08-2016

إقتباس :طيب لو اريد  ان اضع تاريخ الجهاز بدون ما يدخل المسخدم

ممكن تشرح الطريقة


نفس الطريقة ،
كود :
ADoQyery1.close ; ADoQuery1.Params.ParamByName('MyDate').Value:= date ; ADOQyery1.open;

إقتباس :لكن الكود لم يعمل  ممكن  مزيد من التوضيح

البرنامج فى المرفقات لامزيد من التوضيح 

ما هي رسالة الخطأ التي واجهتها؟


RE: تمرير متغير الوقت الى ADOQuery - mahmmoud - 26-08-2016

السلام عليكم اخي العزيز 
الرجاء ان تسامحنى انا تعبتك معي انا كنت استخدم دلفى من قبل 6 سنوات والظاهر اني ناسي كل شي 
ممكن تعطينى مثال واضح  
الربنامج الى بعمل علية داخل المرفقات لمزد من المساعده  
وهو هوا ببساطه اسنعلام معين اريد طباعتة حسب وقت الجهاز  او ممكن عن طريق المسخدم

رسالة الخطاء 
[Error] Unit1.pas(35): Declaration expected but identifier 'ADoQyery1' found

  [Error] Unit1.pas(45): Undeclared identifier: 'ADoQyery1'
  [Error] Unit1.pas(46): Undeclared identifier: 'Params'
  [Error] Unit1.pas(46): Missing operator or semicolon
  [Error] Unit1.pas(47): Missing operator or semicolon
  [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'


RE: تمرير متغير الوقت الى ADOQuery - أبو معاذ - 27-08-2016

وعليكم السلام ورحمة الله وبركاته ،
أظن أن الخطأ في طريقة  كتابة الاستعلام في حد ذاته.
انظر مثلا :

كود :
SELECT "POSDETAIL"."ReduceInventory",


هل POSDETAIL هو اسم الجدول ؟ أم ماذا يمثل ؟

كود :
FROM   ("DBA"."POSDETAIL" "POSDETAIL" INNER JOIN "DBA"."Product" "Product" ON "POSDETAIL"."PRODNUM"="Product"."PRODNUM")


كود :
ماذا يعني DBA  هل هو أيضا اسم الجدول ؟

أنا لا استطيع التعديل على التعليمة Sql  ، لأنني لا أملك قاعدة البيانات...


RE: تمرير متغير الوقت الى ADOQuery - mahmmoud - 27-08-2016

السلام عليكم اخي الكريم انا اتعامل مع قاعد بيانات اسمها sql anywhere
ومن شروط الاستعلام هي ان تضيف dba.  قبل اسم الجدول
ملاحظة:
 عند وضع التاريخ  فى الاستعلام بشكل مياشر يمكن مشاهده التقرير  
وانا استعمل دلفى 7  ولمن اكتب ADOQuery1. وبعد ما اضع (.) وضعط مسطره المساعد لايوجد به params


RE: تمرير متغير الوقت الى ADOQuery - أبو معاذ - 27-08-2016

وعليكم السلام ورحمة الله وبركاته ،
للأسف لم أتعامل مع  sql anywhere  من قبل ،
لكن جربتعليمة ال Sql  دون أي باراميتر بمعنى :
في التعليمة

كود :
WHERE  "POSDETAIL"."OpenDate"={d 'MonthCalendar1'}


اكتب :


كود :
WHERE  "POSDETAIL"."OpenDate"= '01/01/2016'


بهذه الطريقة ستصحح تعليمة ال Sql  لديك ،
عندما يصبح كل شيء على ما يرام ، عوض التاريخ بالباراميتر MyDate .


بالتوفيق.



RE: تمرير متغير الوقت الى ADOQuery - mahmmoud - 28-08-2016

السلام عليكم اخي العزيز
ممكن ترشدني اين  الخطاء 
الرجاء النظر فى المرفقات


RE: تمرير متغير الوقت الى ADOQuery - محمد عبد العزيز - 29-08-2016

http://delphi4arab.net/forum/showthread.php?tid=3747
http://delphi4arab.net/forum/showthread.php?tid=5510