delphi4arab منتديات دلفي للعرب
ما الخطأ في استعلام تحديث حقل بقيمة من Edit - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : ما الخطأ في استعلام تحديث حقل بقيمة من Edit (/showthread.php?tid=7587)



ما الخطأ في استعلام تحديث حقل بقيمة من Edit - ALG2009 - 09-03-2016

كود :
السلام عليكم أردت أن أنقص من حقل رقمي قيمه معينة أدخلها في edit1.text ولكن يظهر لي خطأ في جملة Update أين الخطأ في هذا الكود ADOQuery2.Close; ADOQuery2.SQL.Text:='UPDATE table1 SET total =(total - edit1.text) WHERE id=1'; ADOQuery2.ExecSQL;

أردت أن أنقص من حقل رقمي قيمه معينة أدخلها في edit1.text ولكن يظهر لي خطأ في جملة Update
أين الخطأ في هذا الكود


RE: ماهو الخطأ في هذا الكود؟ - PLANSHARP - 09-03-2016

انتبه إلى أن edit1.text دخلت كنص و أنت تريد إدخال قيمتها:
الحل:
كود :
ADOQuery2.Close; ADOQuery2.SQL.Text:='UPDATE table1 SET total =(total - '+edit1.text+') WHERE id=1'; ADOQuery2.ExecSQL;



RE: ماهو الخطأ في هذا الكود؟ - menni_ahmed - 09-03-2016

في مكان edit1.text
أكتب strtoint(edit1.text)
يجب تحويل قيم edit1 من نص الى عدد


RE: ماهو الخطأ في هذا الكود؟ - Manarsoft - 09-03-2016

لا تنسى إستدعاء الأمر Clear


RE: ماهو الخطأ في هذا الكود؟ - ALG2009 - 09-03-2016

(09-03-2016, 12:44 PM)PLANSHARP كتب : انتبه إلى أن edit1.text دخلت كنص و أنت تريد إدخال قيمتها:
الحل:
كود :
ADOQuery2.Close; ADOQuery2.SQL.Text:='UPDATE table1 SET total =(total - '+edit1.text+') WHERE id=1'; ADOQuery2.ExecSQL;

جزاك الله خير لقد إشتغل الكود
(09-03-2016, 03:44 PM)menni_ahmed كتب : في مكان edit1.text
أكتب strtoint(edit1.text)
يجب تحويل قيم edit1 من نص الى عدد
تعمل بدون strtoint() فلو أضفتها تظهر لك رسالة خطأ
(09-03-2016, 04:14 PM)Manarsoft كتب : لا تنسى إستدعاء الأمر Clear
لماذا إستدعاء هذا الأمر ما دوره؟

على حسب الكلمه تعني المسح والكويري لا تحتوي على نص أي نص sql

هل ممكن مثال على إستخدام هذه التعليمة أعني clear


RE: ماهو الخطأ في هذا الكود؟ - Manarsoft - 11-03-2016

(09-03-2016, 08:47 PM)ALG2009 كتب : هل ممكن مثال على إستخدام هذه التعليمة أعني clear

----------
وظيفتها مسح التعليمات والاوامر السابقة


RE: ماهو الخطأ في هذا الكود؟ - PLANSHARP - 13-03-2016

هكذا أخي:
كود :
ADOQuery2.Close; ADOQuery2.SQL.clear; ADOQuery2.SQL.Text:='UPDATE table1 SET total =(total - '+edit1.text+') WHERE id=1'; ADOQuery2.ExecSQL;



RE: ماهو الخطأ في هذا الكود؟ - محمد عبد العزيز - 13-03-2016

إقتباس :لا تنسى إستدعاء الأمر Clear

لا علاقة لClear باللامر أو الخطأ لان الاخ استخدم SQL.Text
ليكون الفهم صحيح: Clear تستخدم لحذف المحتوي النصي لSQL وغالبا تكتب قبل Add لحذف اي نص كان من قبل مثلا كود الاخ PLANSHARP يكون

كود :
ADOQuery2.Close; ADOQuery2.SQL.Text:='UPDATE table1 SET total =(total - '+edit1.text+') WHERE id=1'; ADOQuery2.ExecSQL;
أو Add بدلا من Text
كود :
ADOQuery2.Close; ADOQuery2.SQL.clear; ADOQuery2.SQL.Add:='UPDATE table1 SET total =(total - '+edit1.text+') WHERE id=1'; ADOQuery2.ExecSQL;



RE: ماهو الخطأ في هذا الكود؟ - ALG2009 - 14-03-2016

بارك الله فيكم