الاضافة او التحديث داخل جدول عن طريق sql
#1
السلام عليكم اتمنى لكم السلامة في زمن الكورونا و ارجو من الله ان يرفع عنا البلاء
لدي برنامج به عدة جداول بقاعدة الفايربيرد
وعندما اريد ادخال معطيات من الجدول 1 الى الجدول 2 و لهم نفس اسماء الحقول بخاصية التحديث ان وجد التاريخ في الجدول الثاني او ادخال البيانات في الجدول الثاني عند عدم وجود التاريخ المراد ادخاله
وقمت بمحاولة لكن الاجراء يقوم بادخال بيانات جديدة على الرغم من وجود التاريخ اي يقوم بعملية التكرار اجو منكم تصحيح الخلل و الاجراء هو كما يلي 

PHP كود :
var
o,n:integer;
begin
dm
.QuMois.Close;
dm.QuMois.SQL.Clear;
dm.QuMois.SQL.Add('select * from FMOIS ');
dm.QuMois.SQL.Add('where DATE_JOURNNEE=:D1');
dm.QuMois.paramByName('D1').AsDate := StrToDate(MaskEdit5.text);
dm.QuMois.Open;
n:=dm.QuMois.RecordCount;
edit4.Text:=inttostr(dm.QuMois.RecordCount);
if 
n=0 then
begin
//////////////////////INSERT/////////////
dm.QuMois.Close;
dm.QuMois.SQL.Clear;
dm.QuMois.SQL.Add('INSERT INTO FMOIS (EDITE,DATE_JOURNNEE,APPLICATION, MONTANT_BANCAIRE, MONTANT_CCP,MONTANT_NUMERAIRE,TOTAL)');
dm.QuMois.SQL.Add('select EDITE,:datejoure, sum(APPLICATION)as APPLICATION , sum(MONTANT_BANCAIRE)as MONTANT_BANCAIRE , sum(MONTANT_CCP)as MONTANT_CCP , sum(MONTANT_NUMERAIRE)as MONTANT_NUMERAIRE,sum(APPLICATION+MONTANT_BANCAIRE+MONTANT_CCP+MONTANT_NUMERAIRE)as TOTAL');
dm.QuMois.SQL.Add('from TJOUR where   DATE_JOURNNEE>=:D1 AND DATE_JOURNNEE<=:D2 ');
dm.QuMois.paramByName('D1').AsDate := StrToDate(form6.MaskEdit4.text);
dm.QuMois.paramByName('D2').AsDate := StrToDate(form6.MaskEdit5.text);
dm.QuMois.paramByName('datejoure').AsDate := StrToDate(form6.MaskEdit5.text);
dm.QuMois.SQL.Add('Group By EDITE,DATE_JOURNNEE');
dm.QuMois.ExecSQL;
dm.QuMois.Open;
showmessage('RecordCount ajout');
dm.FMOIS.Refresh;
edit6.Text:=inttostr(dm.FMOIS.RecordCount);
end;
//////////////update///////////////
o:=dm.QuMois.RecordCount;
edit5.Text:=inttostr(dm.QuMois.RecordCount);
if 
o>=1 then
begin
  dm
.QuMois.Close;
  dm.QuMois.SQL.Clear;
  dm.QuMois.SQL.Add('UPDATE FMOIS SET (EDITE,APPLICATION, MONTANT_BANCAIRE, MONTANT_CCP,MONTANT_NUMERAIRE,TOTAL)');
  dm.QuMois.SQL.Add('select EDITE, sum(APPLICATION)as APPLICATION , sum(MONTANT_BANCAIRE)as MONTANT_BANCAIRE , sum(MONTANT_CCP)as MONTANT_CCP , sum(MONTANT_NUMERAIRE)as MONTANT_NUMERAIRE,sum(APPLICATION+MONTANT_BANCAIRE+MONTANT_CCP+MONTANT_NUMERAIRE)as TOTAL');
  dm.QuMois.SQL.Add('from TJOUR where   DATE_JOURNNEE>=:D1 AND DATE_JOURNNEE<=:D2');
  dm.QuMois.paramByName('D1').AsDate := StrToDate(form6.MaskEdit4.text);
  dm.QuMois.paramByName('D2').AsDate := StrToDate(form6.MaskEdit5.text);
  dm.QuMois.SQL.Add('Group By EDITE');
  showmessage('RecordCount update');
  dm.FMOIS.Refresh;
  edit6.Text:=inttostr(dm.FMOIS.RecordCount);
end;
end; 
[-] كل من 1 user says قال شكرا ل dahmane26 على المشاركة المفيدة
  • S.FATEH
الرد


الردود في هذا الموضوع
الاضافة او التحديث داخل جدول عن طريق sql - بواسطة dahmane26 - 06-04-2020, 04:38 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم