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

طريقة اضافة عدة بيانات مرة واحدة في قاعدة بيانات

بدأه lovely_ned في 10 نوفمبر 2010 · 14 رد · 736 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كيف يمكن ان اعمل insert لبيانات موجودة في jlist بقاعدة بينات مرة وحدة

في بيانات كتيرة وحبيت ادخلها على قاعدة البيانات

#2

السلام عليكم

هل Batch Processing

يفي بالغرض؟

ليس لي معرفة جيدة بها ولكني وجدت هذا المثال

Statement stmt = conn.createStatement( );
int[] rows;
for(int i=0; i<accts.length; i++) {
accts.calculateInterest( );
stmt.addBatch("UPDATE account " +
"SET balance = " +
accts.getBalance( ) +
"WHERE acct_id = " + accts.getID( ));
}
rows = stmt.executeBatch( );

اتمني لك التوفيق

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 11 نوفمبر 2010 في 00:03 — السبب: إضافة وسم code

#3

لدي JList

فيها بيانات اريد ان اجخلها مرة واحدة هل يمكن ان اعمل >لك بدون حلقة for

#4

لا طبعا

لان كل سطر فى القائمة يمثل سجل فى قاعدة البيانات ويحتاج الى استعلام Query ادخال منفرد


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#5

يعني كل ما ادخل سطر لقاعدة البيانات افتح الاتصال ادخل البيانات بعدها اغلق الاتصال

كل هذا>ا اعمله في حلقة

تم تعديل هذه المشاركة بواسطة lovely_ned في 10 نوفمبر 2010 في 17:23

#6

لا طبعا

الاتصال يتم فتحه مرة واحدة عند بداية البرنامج program startup

ويتم اغلاقه عند انهاء البرنامج او النافذة الرئيسية MainWindow

كل ماعليك هو استخدام commit و rollback على الاتصال connection

تم تعديل هذه المشاركة بواسطة Oracle_Java في 10 نوفمبر 2010 في 17:43


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#7

ما هو commit و rollback

#8
lovely_ned كتب:

ما هو commit و rollback

commit يعنى احفظ البيانات والتغيرات اللى حصلت على قاعده البيانات

rollback يعنى تراجع عن كل العمليات والتغيرات التى حدثت

انا اعرف ان الامرين دول فى الاوراكل بس معرفش هل فيه مثلا فى الـ mySQL او غيرها ولا لالا

Software Developer
Mahmoudkelany.com


 

#9

أنا لا أؤيد فتح الاتصالات لمدة طويلة

أؤيد جعل الاتصال على مستوى الأمر الواحد

وإغلاقه بعد إنتهاء الأمر

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#10
علاء الصالحي كتب:

أنا لا أؤيد فتح الاتصالات لمدة طويلة

أؤيد جعل الاتصال على مستوى الأمر الواحد

وإغلاقه بعد إنتهاء الأمر

تحياتي

كلامك سليم اخى علاء

لكن هل كل مره اقوم باضافه عنصر من الـ List اقوم بانشاء الاتصال وغلقه مره اخرى ؟؟

ما انا انشأه فى اول مره واغلقه مع نهايه اخر عنصر فى الـ List

ولا ايه ؟؟؟

Software Developer
Mahmoudkelany.com


 

#11

نفس السؤال

نفتح الاتصال في البداية نغلقه مع اخر عنصر؟

#12

على حسب البرنامج الذي تعمل عليه

إن كنت لن تستخدم سوى نسخة واحدة من البرنامج فلا مشكلة اتصال واحد لا يمثل استهلاك كبير لموارد قاعدة البيانات

لكن إن كان هناك عدد كبير من الأجهزة تشغل البرنامج فأنا مقتنع تماماً بأنك ستهلك قاعدة البيانات الخاصة بك

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#13

أخي الكريم

استخدم BulkInsert Statment

وبصارحة لم استخدمها مع الجافا من قبل ولكن قم بتجربة الموضوع

http://www.sqlteam.com/article/using-bulk-insert-to-load-a-text-file

تحياتي

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

#14

لا أؤيد التعامل مع قواعد البيانات فى الجافا بدون استخدام Hibernate

Mahmoud Kelany كتب:

commit يعنى احفظ البيانات والتغيرات اللى حصلت على قاعده البيانات

rollback يعنى تراجع عن كل العمليات والتغيرات التى حدثت

انا اعرف ان الامرين دول فى الاوراكل بس معرفش هل فيه مثلا فى الـ mySQL او غيرها ولا لالا

هذين الامرين موجودين فى الجافا وليس فى قاعدة البيانات

فى بداية البرنامج اكتب

conn.setAutoCommit("false");

ثم بعد ذلك استخدم commit و rollback كما تشاء

تحياتى

تم تعديل هذه المشاركة بواسطة Oracle_Java في 11 نوفمبر 2010 في 16:16


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#15

شكرا اريد توضيح بسيط وسها عن هذين الامرين

commit و rollback

تم تعديل هذه المشاركة بواسطة lovely_ned في 11 نوفمبر 2010 في 18:33

−1

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…