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

نسخة كاملة : تمرير متغير الوقت الى ADOQuery
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم اعضاء النتدي 
عندي سؤال كيف يتم تمرير  قيمة 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

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

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


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

كود :
ADoQyery1.close ; ADoQuery1.Params.ParamByName('MyDate').Value:= DateTimePicker1.date ; ADOQyery1.open;
جزاك الله كل خير  
طيب لو اريد  ان اضع تاريخ الجهاز بدون ما يدخل المسخدم
ممكن تشرح الطريقة

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

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


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

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

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

ما هي رسالة الخطأ التي واجهتها؟
السلام عليكم اخي العزيز 
الرجاء ان تسامحنى انا تعبتك معي انا كنت استخدم دلفى من قبل 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'
وعليكم السلام ورحمة الله وبركاته ،
أظن أن الخطأ في طريقة  كتابة الاستعلام في حد ذاته.
انظر مثلا :

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


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

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


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

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

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


اكتب :


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


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


بالتوفيق.
السلام عليكم اخي العزيز
ممكن ترشدني اين  الخطاء 
الرجاء النظر فى المرفقات
الصفحات : 1 2