delphi4arab منتديات دلفي للعرب
مشكله في الحدث AfterInsert - نسخة قابلة للطباعة

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



مشكله في الحدث AfterInsert - palunix - 11-08-2010

السلام عليكم ,

احاول عند ادخال سجل ان يعمل الحدث الخاص بـ AfterInsert وتظهر الرسالة بادخال السجل
لا ادري ان كان هناك خطا ,,

PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
ABSQuery1
.DatabaseName:='new.ABS';
ABSQuery1.SQL.Add(
         
'insert into Constz(name,Sdate,Edate,info) values("xxx","11/2/2002","11/2/2002","xxzzz")');
    
ABSQuery1.ExecSQL();
  
ABSTable1.Refresh;
  
ABSTable1.AfterInsert:=  ABSQuery1AfterInsert;
end;

procedure TForm1.ABSQuery1AfterInsert(DataSet: TDataSet);
begin
ShowMessage
('the record is inserted');
end;

end. 



مشكله في الحدث AfterInsert - Lam.Abdeldjalil - 12-08-2010

و عليكم السلام ورحمة الله

أولا الحدث AfterInsert لا يطلق إلا بعد تنفيذ التعليمتين Insert و Append
أي في حالة إستخدام SQL مثل حالتك لايطلق
ثانيا يوجد خطآن هنا
إقتباس :ABSTable1.AfterInsert:= ABSQuery1AfterInsert;
1 أي للقراءة فقط ( الجزء الأيسر )
كود :
[Pascal Error] Unit1.pas(96): E2064 Left side cannot be assigned to
2 إستدعاء الحدث AfterInsert لا فائدة منه فإذا أردت إظهار الرسالة أضفها مباشرة بعد Refresh

أما إذا أردت التأكد من إتمام الإضافة بنجاح :
إذا لم تظهر رسالة خطأ فإن التسجيل تم إضافته بنجاح
إذا أردت التأكد يدويا توجد عدة طرق أعطيك واحدة
بإفتراضي أن ConstzID هو المفتاح الأساسي عندك و TheaddedCode هو قيمة المفتاح للسجل المضاف
كود :
ABSQuery1.close; ABSQuery1.SQL.clear; ABSQuery1.SQL.add('select * from Constz where ConstzID=TheaddedCode '); ABSQuery1.open; If ABSQuery1.IsEmpty then ShowMessage('no record inserted') else ShowMessage('the record is inserted');
بالتوفيق






مشكله في الحدث AfterInsert - palunix - 12-08-2010

حياك الله اخي الكريم ,
الــ AfterInsert لم يعمل و قد تم الموضوع عبر الطريقة اليدوية

باركك الله اخي الكريم ,


مشكله في الحدث AfterInsert - Lam.Abdeldjalil - 12-08-2010

السلام عليكم

الحدث AfterInsert لا و لم و لن يعمل بإستعمال SQL إلا إذا إستدعيته يدويا مثله مثل باقي الإجراءات العادية

إذا كنت ملحا على إستدعاء الحدث AfterInsert فهاهي الطريقة مثال
كود :
AfterInsertABSQuery1([COLOR=#000000][COLOR=#0000bb]ABSTable1[/COLOR][/COLOR]);
وفيك بركة أخي الكريم

بالتوفيق