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

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



حفظ البيانات من DBgrid الى قاعدة البيانات بخبطة واحدة - CMT-10 - 26-03-2012

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


هل بالامكان حفظ البيانات من المكون DBgrid الى قاعدة البيانات بخبطة واحدة بدون لووب Loop بالدلفي بريسم يمكن فعل ذلك وقلت ربما يمكن هنا ايضا .

والله الموفق


حفظ البيانات من DBgrid الى قاعدة البيانات بخبطة واحدة - CMT-10 - 26-03-2012

ربما لم اوضح الفكرة فيقول لي البعض استخدم هذه الطريقة

كود :
if DBGrid1.DataSource.DataSet.State in [dsInsert, dsEdit] then DBGrid1.DataSource.DataSet.Post;

ولكن المقصود اضافة عدد من الصفوف الى قاعدة البيانات دفعة واحدة وبدون لووب وتكرار وليس من الضروري ان تكون من DBgrid ربما من StringGrid


حفظ البيانات من DBgrid الى قاعدة البيانات بخبطة واحدة - kachwahed - 26-03-2012

معظم قواعد البيانات وطرق الاتصال توفر طريقة لحفظ مجموعة من السجلات بشكل مؤقت
يمكن ذلك بدلفي باستخدام TClientDataSet
حاول التوضيح بمثال إن أمكن



حفظ البيانات من DBgrid الى قاعدة البيانات بخبطة واحدة - CMT-10 - 27-03-2012

السلام عليكم


اهلا اخي كاش واحد ان اختياري للمكون DBgrid اضاع وشوش الفكرة

تصور معي ان هناك StringGrid مليئة بالبيانات أي فيها اربعة او خمسة صفوف وخمسة اعمدة مثلا .

ارغب في ان ارسل هذه البيانات وحفظها في جدول بدون Loop مثل

كود :
For I=0 to AdoTable1.RecordCount -1 Begin AdoTable1.Insert; AdoTable1Mname.Value:=String1.Cell[I]; AdoTable1.Post; AdoTable1.Next; End;

أي يتم ارسال هذه الصفوف الخمسة دفعة واحدة وبعملية واحدة


حفظ البيانات من DBgrid الى قاعدة البيانات بخبطة واحدة - CMT-10 - 27-03-2012

السلام عليكم

ربما TClientDataSet فيه الحل لا ادري سأرى فلم استخدمه من قبل


حفظ البيانات من DBgrid الى قاعدة البيانات بخبطة واحدة - kachwahed - 27-03-2012

لا تحضرني أي فكرة مماثلة الآن
لكن لو تخبرنا بالسبب الذي دفعك إلى البحث عن فعل ذلك، ربما نجد حلا بطريقة أفضل



حفظ البيانات من DBgrid الى قاعدة البيانات بخبطة واحدة - CMT-10 - 27-03-2012

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

السبب يا اخي انني احب الكود البسيط واتجنب اي شئ من الممكن ان يقع به خطاء او يحدث به حادث .
مع ADO.NET كان بامكاني ان ا خزن محتوى ViewGrid دفعة واحدة وكانت مريحة جداً.
اي اضيف رأس الفاتورة مثل رقمها وتاريخها وما الى ذلك بجدول وفي الجدول الثاني اضيف البظاعة دفعة واحدة .
ربما هو نوع من التعود
لا اعرف لا ارتاح الى اضافة البيانات بقاعدة البيانات في تكرار اشعر ان هذا غير مطمئن مع ان الامر يعمل على احسن مايرام حتى الان ولم يحدث خطاء ولو مرة واحدة .
وايضا من باب المعرفة والاطلاع لا تعرف متى تحتاج شيئا كهذا .


حفظ البيانات من DBgrid الى قاعدة البيانات بخبطة واحدة - kachwahed - 27-03-2012

إقتباس :احب الكود البسيط واتجنب اي شئ من الممكن ان يقع به خطاء او يحدث به حادث
أوافقك الرأي
إقتباس :اي اضيف رأس الفاتورة مثل رقمها وتاريخها وما الى ذلك بجدول وفي الجدول الثاني اضيف البظاعة دفعة واحدة
شخصيا لم أكن بحاجة إلى حلقات لإضافات بيانات بهذا الشكل
يبدو لي الخلل في التصميم
ممكن مثال عملي لتوضيح الفكرة؟



حفظ البيانات من DBgrid الى قاعدة البيانات بخبطة واحدة - CMT-10 - 04-04-2012

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

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


حفظ البيانات من DBgrid الى قاعدة البيانات بخبطة واحدة - kachwahed - 04-04-2012

لست بحاجة إلى رفع مرفق، من مشروع جديد اكتب كود Unit1 وقاعدة البيانات في شكل SQL بأصغر ما يمكن.