السلام عليكم
جمعه مباركه للجميع
حاولت كثير ولكن لم أستطع ولذلك ارجو من المجيب أن يبين لي السبب
حيث كان الكود الخاص بي هو
كود :
ADOQuery1.Close;
ADOQuery1.SQL.Text:='UPDATE table1 SET total=total-2 ';
ADOQuery1.ExecSQL;
الكود يعمل جيدا ولكن عند إضافة سطر الحذف يتوقف عن العمل كما في المثال التالي
كود :
ADOQuery1.Close;
ADOQuery1.SQL.Text:='UPDATE table1 SET total=total-2 ';
ADOQuery1.SQL.Text:='delete from table1 where total = 0';
ADOQuery1.ExecSQL;
اريد حل ولكن ارجو منكم من يقول لي ماهو السبب في هذا الخطأ فبمجرد إضافة سطر الحذف يتوقف عن العمل
Try using:
ADOQuery1.Close;
ADOQuery1.SQL.Text:='UPDATE table1 SET total=total-2 ';
ADOQuery1.ExecSQL;
ADOQuery1.Close;
ADOQuery1.SQL.Text:='delete from table1 where total = 0';
ADOQuery1.ExecSQL;
ينصح باستخدام Transction بحيث اما ان تتم العمليتين او لا
فمثلا تقوم بالتعديل ولا يتم الحذف لاي سبب
(18-03-2016, 05:35 PM)Manarsoft كتب : [ -> ]Try using:
ADOQuery1.Close;
ADOQuery1.SQL.Text:='UPDATE table1 SET total=total-2 ';
ADOQuery1.ExecSQL;
ADOQuery1.Close;
ADOQuery1.SQL.Text:='delete from table1 where total = 0';
ADOQuery1.ExecSQL;
جزاك الله خير تم بنجاح ولكن عند الحذف يعلق الدلفي ويظهر رسال لقد تم إرفاق رسالة الخطأ
(19-03-2016, 08:03 AM)Delphi4Us كتب : [ -> ]ينصح باستخدام Transction بحيث اما ان تتم العمليتين او لا
فمثلا تقوم بالتعديل ولا يتم الحذف لاي سبب
هل ممكن مثال
يبدو أنها تتعلق بقواعد الببيانات access اي انه تم التغيير في المفتاح الرئيسي او من هذا القبيل فالدلفي يعلق ويتوقف عن العمل فانا ايضا أردتها ان تكون بلغة أخرى ولكن للأسف ظهرت بالعربية
فالرساله لها علاقة بقواعد البيانات وهي عند الحذف تظهر وتخبرك بأنه تم تغيير المفتاح الرئيسي السبب أو لحلحل هذه المشكلة غير واضح
لماذا لا تستعمل Absolute Database ؟
كود :
try
Adoconnection1.beginTransction;
ADOQuery1.Close;
ADOQuery1.SQL.Text:='UPDATE table1 SET total=total-2 ';
ADOQuery1.ExecSQL;
ADOQuery1.Close;
ADOQuery1.SQL.Text:='delete from table1 where total = 0';
ADOQuery1.ExecSQL
AdoConnection1.commit;
expection
Adoconnection1.RollBack
end;
(19-03-2016, 03:16 PM)Manarsoft كتب : [ -> ]لماذا لا تستعمل Absolute Database ؟
كود :
إستخدمت أكسس لأن قاعدة بيانات البرنامج صغيره والاكسس مثبت تقريبا في جميع الأجهزه
وهل Absolute Database يجب تثبيته ؟
(19-03-2016, 04:51 PM)Delphi4Us كتب : [ -> ]كود :
try
Adoconnection1.BeginTrans;
try
ADOQuery1.Close;
ADOQuery1.SQL.Text:='UPDATE table1 SET total=total-2 ';
ADOQuery1.ExecSQL;
ADOQuery1.Close;
ADOQuery1.SQL.Text:='delete from table1 where total = 0';
ADOQuery1.ExecSQL
ADOConnection1.CommitTrans;
Except
ON E:Exception DO ADOConnection1.RollbackTrans;
end;
end;
نفس الخطأ
مشكل بمعنى الكلمة هل منكم من مرت عليه هذه المشكلة
سلام عليكم
قم بإخراج الشرط المساواة total = 0
قبل تنفيذ الاستعلام الثاني delete
ارفق مثال