delphi4arab منتديات دلفي للعرب

نسخة كاملة : الحفظ في قاعدة البيانات
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم أفيدونا مما جادت به عقولكم

مشكلة في الحفظ
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 تحفظ

بارك الله فيكم
و عليكم السلام
أظن أنه يجب عليك إظافة التعليمة
كود :
Table1.Post
في آخر زر button1 on click لكي يقوم بالحفط بعد الإنتهاء .لم تقل لنا ماذا يوجد في زر next ؟
الزر next به الكود table1.next فقط
table1.post جربتها ولم تصلح
إذا كان الجدول يحوي بيانات فهنا تستعمل
PHP كود :
Table.edit 
تهيأ الجدول للتعديل وتختمها بحفظ
PHP كود :
Table.post 
PHP كود :
begin
 Table1
.Open;
Table1.Edit;
DBEdit1.Text:='12';
Table1.Post;
end 
;
طريقة أخرى لم أجربها
PHP كود :
with DBEdit1.Datasource.Dataset do begin
  FieldByName
(DBEdit1.DataField).AsInteger :=12;
  
Post();
end; 
[INDENT]
السلام عليكم ورحمة الله وبركاته ،
إذا كنت تستعمل paradox ،
استعمل الكود التالي بعد Poste و Delete ،
كود :
Table1.FlushBuffers ;

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

وفقك الله.
[/INDENT]
السلام عليكم
أخي Unprogramme ماذا تقصد Table1.FlushBuffers ;
أنا استعمل paradox