الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هو السبب في هذا الكود ؟؟؟

مغلق
بدأه محمد 111 في 26 أبريل 2002 · 8 رد · 827 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

مشكلة في عملية الاضافة في الجدول عند ادخال البيانات عن طريق Edits على ال Form ويتم استعراض السجلات للجدول بواسطة DBGrid يضيف عادي وعند الخروج من الدلفي أي اغلاقها

والرجوع لل DBGrid أجد أن السجل لم يضاف وكأنه لم يفعل شيئ .

فكل من يعرف ماهي المشكلة يحلها وله الشكر .

وهذا الكود الذي استخدمه :

procedure TForm1.SpeedButton1Click(Sender: TObject);

Begin;

Edit1.SetFocus;

table1.Active:=true;

table1.Insert;

with table1 do

begin

Edit;

FieldByName('Name').asstring:=(Edit2.Text);

FieldByName('Address').Asstring:=(Edit3.Text);

FieldByName('City').Asstring:=(Edit4.Text);

FieldByName('Phone').AsString:=(Edit5.Text);

FieldByName('Fax').Asstring:=(Edit6.Text);

Post;

end;

End;

Table1.Active:=false;

End;

#2

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

المفروض ان يعمل هذا الكود :

procedure TForm1.SpeedButton1Click(Sender: TObject);

Begin;

Edit1.SetFocus;

table1.Active:=true;

with table1 do

begin

append;

FieldByName('Name').asstring:=(Edit2.Text);

FieldByName('Address').Asstring:=(Edit3.Text);

FieldByName('City').Asstring:=(Edit4.Text);

FieldByName('Phone').AsString:=(Edit5.Text);

FieldByName('Fax').Asstring:=(Edit6.Text);

Post;

end;

Table1.Active:=false;

End;

اولا لا داعي لجملة insert , ثانيا الجدول تجعل وضعه وضع append للاضافة و ليس edit كما كان مكتوب , و كان عندك end زائدة .

عندي سؤال edit1 ما وظيفتها ؟؟؟

مع خالص تحياتي

#3

السلام عليكم

اخي العزيز

1- لمادا لاتستعمل dbedit ما عد الحقل الدي فهرسة به القاعدة لكي يتم مراقبته

2-هناك طريقة اعتقد انها احسن وهي تصلح في المثال التالي

****لا تنسى ان تنقر بالزر الايمن على الجدول table1 تقوم باضلفة جميع الحقول

procedure TForm1.Button1Click(Sender: TObject);

begin

table1.Active:=true;

table1.append;

table1name.asstring:=Edit1.Text;

table1Address.Asstring:=(Edit2.Text);

table1City.Asstring:=(Edit3.Text);

table1Phone.AsString:=(Edit4.Text);

table1Fax.Asstring:=(Edit5.Text);

Table1.Post;

end;

تحياتي

الا اني اقترح ان يكون الحفض في زر اخر

#4

مشكلتك بسيطة جداً .. فعملية التخزين تمت في قاعدة البيانات ولكن المشكلة في DbGrid لأنه لايتم تحديثها تلقائياً مإنما يجب عليك أن تكتب كود التحديث بنفسك وهو بسيط فبعد عملية Post يجب إضافة

Table1.Refresh; ليتم إعادة قراءة الجدول وبالتالي سيظهر التحديث في DBGrid

#5

يجب عليك إزالة السطر

table1.Active := False

لأن هذا السطر يقوم بإغلاق الملف وبالتالي قطع الإتصال بينه وبين DBGrid

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

#6

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

مشكورين يا اخوان على جهودكم ووقوفكم معي في مشكلتي ولكن لأسف لم تنفع كل المحاولات ؟؟؟

#7

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

اخي لو تضع الكود ورسالة الخطا كاملة لعلي او لعلنا نستطيع المساعدة

#8

في نقطة هامة

استبدل كلمة Edit ب Insert او Append والغي Edit كليا وقلي اش بده يصير ؟

#9

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

مشكور اخي محمد .

لقد جربت طريقتك ولكن كما هو ؟؟؟

في الحقيقة الكود الموجود اعلاه يضيف في الجدول بشكل طبيعي ولكن

بعد ان تغلق الدلفي لايوجد شىء قد اضيف ؟؟؟؟

هذا الموضوع مغلق.

مواضيع مشابهة