delphi4arab منتديات دلفي للعرب
هل من طريقة لافراغ جدول من المعلومات دون اللجوء الى while not table1.eof do - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : هل من طريقة لافراغ جدول من المعلومات دون اللجوء الى while not table1.eof do (/showthread.php?tid=4868)

الصفحات: 1 2


هل من طريقة لافراغ جدول من المعلومات دون اللجوء الى while not table1.eof do - cosinuszero - 11-01-2013

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

هل من طريقة لافراغ جدول من المعلومات دون اللجوء الى while not table1.eof do
مع العلم اني جربت deleterecords لكنها لم تنجح.

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


هل من طريقة لافراغ جدول من المعلومات دون اللجوء الى while not table1.eof do - FARID - 11-01-2013

وعليكم السلام
نعم يمكنك ذلك وبدون استخدام while not table1.eof do
كود :
table1.Active:= false; table1.EmptyTable;

تحياتي لك


هل من طريقة لافراغ جدول من المعلومات دون اللجوء الى while not table1.eof do - cosinuszero - 11-01-2013

مشكور أخي لكن نسيت أن أقول ان التقنية المستعملة هي ado وليس bde.
لان ado لا يعتمد على الاجراء EmptyTable


هل من طريقة لافراغ جدول من المعلومات دون اللجوء الى while not table1.eof do - FARID - 11-01-2013

على ما اعتقد انه صالح حتى مع تقنية ado جرب ان شئت


هل من طريقة لافراغ جدول من المعلومات دون اللجوء الى while not table1.eof do - cosinuszero - 11-01-2013

لقد جربت لكن لا يوجد هذا الاجراء أو الدالة
كنت أود تنفيذها في سطر واحد لكن الان كتبتها هكذا

while not Facture_Achat.isempty do
Facture_Achat.delete;
شكرا أخي فريد


هل من طريقة لافراغ جدول من المعلومات دون اللجوء الى while not table1.eof do - Najy Ibraheem - 11-01-2013

السلام عليكم...

استعمل ADOQuery أو ADOCommand لتنفيذ جملة SQL التالية:

كود :
DELETE FROM table_name

حيث table_name اسم الجدول في قاعدة البيانات.

مثلاً:
كود :
Facture_Achat.Close; ADOQuery1.Close; ADOQuery1.SQL.Text := 'DELETE FROM table_name'; ADOQuery1.ExecSQL; Facture_Achat.Open;

أو باستعمال الـ ADOCommand :
كود :
Facture_Achat.Close; ADOCommand1.CommandText := 'DELETE FROM table_name'; ADOCommand1.Execute; Facture_Achat.Open;

نرجو الاستفادة و السلام.


هل من طريقة لافراغ جدول من المعلومات دون اللجوء الى while not table1.eof do - cosinuszero - 12-01-2013

أنا كتبتها في سطرين و أنت في أربع و لكن فكرتك تعتمد على الـ sql
فأيهما أفضل؟
شكرا


هل من طريقة لافراغ جدول من المعلومات دون اللجوء الى while not table1.eof do - تلميذ الحياة - 12-01-2013

السلام عليكم...
كود :
procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin ADOTable1.First; for i:=1 to ADOTable1.RecordCount do ADOTable1.Delete; end;



هل من طريقة لافراغ جدول من المعلومات دون اللجوء الى while not table1.eof do - Najy Ibraheem - 12-01-2013

السلام عليكم...

cosinuszero كتب :أنا كتبتها في سطرين و أنت في أربع و لكن فكرتك تعتمد على الـ sql
فأيهما أفضل؟
شكرا

:p المسألة ليست هكذا...
أولاً: في الكود الذي ذكرته أنا هناك سطران فقط لهما علاقة بالحذف، أما إغلاق و فتح الجدول فهو للتحديث.
ثانياً: تلك الأربعة أسطر سيتم تنفيذها مرة واحدة فقط مهما كان عدد السجلات في الجدول، أما حلقة For أو While فتصور كم سيتكرر تنفيذها إذا كان الجدول يحتوي على آلاف أو ربما ملايين السجلات. سيكون الأمر بطيئاً جداً و ربما مع توقف البرنامج عن الاستجابة إلى حين انتهاء الحلقة.

نرجو الاستفادة و السلام.


هل من طريقة لافراغ جدول من المعلومات دون اللجوء الى while not table1.eof do - cosinuszero - 12-01-2013

najy ibraheem كتب :السلام عليكم...



:p المسألة ليست هكذا...
أولاً: في الكود الذي ذكرته أنا هناك سطران فقط لهما علاقة بالحذف، أما إغلاق و فتح الجدول فهو للتحديث.
ثانياً: تلك الأربعة أسطر سيتم تنفيذها مرة واحدة فقط مهما كان عدد السجلات في الجدول، أما حلقة for أو while فتصور كم سيتكرر تنفيذها إذا كان الجدول يحتوي على آلاف أو ربما ملايين السجلات. سيكون الأمر بطيئاً جداً و ربما مع توقف البرنامج عن الاستجابة إلى حين انتهاء الحلقة.

نرجو الاستفادة و السلام.

صح..لا أدري كيف فاتتني..سأغيرها حالا..شكرا أخي ناجي.