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

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



الحفظ في قاعدة البيانات - magicabdou - 21-02-2012

السلام عليكم أفيدونا مما جادت به عقولكم

مشكلة في الحفظ
dbcombobox1 قيم (تكليف بالحضور و استدعاء ،إنذار،.....)
dbcombobox2 قيم من 1إلى 100
dbcombobox6 قيم من 1إلى 100
dbedit8,9,10

button1 on click
كود :
var np,np1,TVA,somme,result:real; begin np:=strtofloat(dbcombobox2.Text); np1:=strtofloat(dbcombobox6.Text); result:=((((1300+(np*100))*0.17))+((1300+(np*100))))*np1; dbedit8.Text:=floattostr(result); if dbcombobox1.ItemIndex=1 then result:=((((1200+(np*100))*0.17))+((1260+(np*100))))*np1; dbedit8.Text:=floattostr(result); if dbcombobox1.ItemIndex=2 then result:=((((1200+(np*100))*0.17))+((1260+(np*100))))*np1; dbedit8.Text:=floattostr(result); if dbcombobox1.ItemIndex=3 then result:=((((1200+(np*100))*0.17))+((1260+(np*100))))*np1; dbedit8.Text:=floattostr(result); if dbcombobox1.ItemIndex=4 then result:=((((1200+(np*100))*0.17))+((1260+(np*100))))*np1; dbedit8.Text:=floattostr(result); if dbcombobox1.ItemIndex=5 then result:=(1560+255)*np1; dbedit8.Text:=floattostr(result); if dbcombobox1.ItemIndex=6 then result:=((((1200+(np*100))*0.17))+((1260+(np*100))))*np1; dbedit8.Text:=floattostr(result); end;[align=left][/align]


button2 on click يحسب المبلغ المتبقي dbedit9 تعبأ يدويا

كود :
var result, pa, somme:real; begin somme:=strtofloat(dbedit8.Text); pa:=strtofloat(dbedit9.Text); result:=somme-pa; begin dbedit10.Text:=floattostr(result); end;

استعملت الكود التالي في الحدث onexit
كود :
if Table1.State in [DsEdit,DsInsert] then Table1.Post;


علما أن كل المعطيات تحفظ بشكل عادي dbedit7,5,11... إلا المذكورة أعلاه وكل
المعطيات في جدول واحد
ولكن عندما اضغط على الزر next ثم prior تحفظ

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


الحفظ في قاعدة البيانات - لؤي - 22-02-2012

و عليكم السلام
أظن أنه يجب عليك إظافة التعليمة
كود :
Table1.Post
في آخر زر button1 on click لكي يقوم بالحفط بعد الإنتهاء .لم تقل لنا ماذا يوجد في زر next ؟


الحفظ في قاعدة البيانات - magicabdou - 22-02-2012

الزر next به الكود table1.next فقط


الحفظ في قاعدة البيانات - magicabdou - 22-02-2012

table1.post جربتها ولم تصلح


الحفظ في قاعدة البيانات - لؤي - 23-02-2012

إذا كان الجدول يحوي بيانات فهنا تستعمل
PHP كود :
Table.edit 
تهيأ الجدول للتعديل وتختمها بحفظ
PHP كود :
Table.post 
PHP كود :
begin
 Table1
.Open;
Table1.Edit;
DBEdit1.Text:='12';
Table1.Post;
end 
;


الحفظ في قاعدة البيانات - لؤي - 13-03-2012

طريقة أخرى لم أجربها
PHP كود :
with DBEdit1.Datasource.Dataset do begin
  FieldByName
(DBEdit1.DataField).AsInteger :=12;
  
Post();
end; 



الحفظ في قاعدة البيانات - أبو معاذ - 13-03-2012

[INDENT]
السلام عليكم ورحمة الله وبركاته ،
إذا كنت تستعمل paradox ،
استعمل الكود التالي بعد Poste و Delete ،
كود :
Table1.FlushBuffers ;

ملاحظة صغيرة إذا كنت تستعمل Paradox ،
فكر بالانتقال إلى قواعد بيانات أكثر أمنا مثل FireBird...

وفقك الله.
[/INDENT]


الحفظ في قاعدة البيانات - magicabdou - 14-03-2012

السلام عليكم
أخي Unprogramme ماذا تقصد Table1.FlushBuffers ;
أنا استعمل paradox