السلام عليكم
كيف يمكن ان اعمل insert لبيانات موجودة في jlist بقاعدة بينات مرة وحدة
في بيانات كتيرة وحبيت ادخلها على قاعدة البيانات
السلام عليكم
كيف يمكن ان اعمل insert لبيانات موجودة في jlist بقاعدة بينات مرة وحدة
في بيانات كتيرة وحبيت ادخلها على قاعدة البيانات
السلام عليكم
هل 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
لدي JList
فيها بيانات اريد ان اجخلها مرة واحدة هل يمكن ان اعمل >لك بدون حلقة for
لا طبعا
لان كل سطر فى القائمة يمثل سجل فى قاعدة البيانات ويحتاج الى استعلام Query ادخال منفرد
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳
يعني كل ما ادخل سطر لقاعدة البيانات افتح الاتصال ادخل البيانات بعدها اغلق الاتصال
كل هذا>ا اعمله في حلقة
تم تعديل هذه المشاركة بواسطة lovely_ned في 10 نوفمبر 2010 في 17:23
لا طبعا
الاتصال يتم فتحه مرة واحدة عند بداية البرنامج program startup
ويتم اغلاقه عند انهاء البرنامج او النافذة الرئيسية MainWindow
كل ماعليك هو استخدام commit و rollback على الاتصال connection
تم تعديل هذه المشاركة بواسطة Oracle_Java في 10 نوفمبر 2010 في 17:43
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳
ما هو commit و rollback
lovely_ned كتب:ما هو commit و rollback
commit يعنى احفظ البيانات والتغيرات اللى حصلت على قاعده البيانات
rollback يعنى تراجع عن كل العمليات والتغيرات التى حدثت
انا اعرف ان الامرين دول فى الاوراكل بس معرفش هل فيه مثلا فى الـ mySQL او غيرها ولا لالا
أنا لا أؤيد فتح الاتصالات لمدة طويلة
أؤيد جعل الاتصال على مستوى الأمر الواحد
وإغلاقه بعد إنتهاء الأمر
تحياتي
علاء الصالحي كتب:أنا لا أؤيد فتح الاتصالات لمدة طويلة
أؤيد جعل الاتصال على مستوى الأمر الواحد
وإغلاقه بعد إنتهاء الأمر
تحياتي
كلامك سليم اخى علاء
لكن هل كل مره اقوم باضافه عنصر من الـ List اقوم بانشاء الاتصال وغلقه مره اخرى ؟؟
ما انا انشأه فى اول مره واغلقه مع نهايه اخر عنصر فى الـ List
ولا ايه ؟؟؟
نفس السؤال
نفتح الاتصال في البداية نغلقه مع اخر عنصر؟
على حسب البرنامج الذي تعمل عليه
إن كنت لن تستخدم سوى نسخة واحدة من البرنامج فلا مشكلة اتصال واحد لا يمثل استهلاك كبير لموارد قاعدة البيانات
لكن إن كان هناك عدد كبير من الأجهزة تشغل البرنامج فأنا مقتنع تماماً بأنك ستهلك قاعدة البيانات الخاصة بك
تحياتي
أخي الكريم
استخدم BulkInsert Statment
وبصارحة لم استخدمها مع الجافا من قبل ولكن قم بتجربة الموضوع
http://www.sqlteam.com/article/using-bulk-insert-to-load-a-text-file
تحياتي
وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ
لا أؤيد التعامل مع قواعد البيانات فى الجافا بدون استخدام Hibernate
Mahmoud Kelany كتب:commit يعنى احفظ البيانات والتغيرات اللى حصلت على قاعده البيانات
rollback يعنى تراجع عن كل العمليات والتغيرات التى حدثت
انا اعرف ان الامرين دول فى الاوراكل بس معرفش هل فيه مثلا فى الـ mySQL او غيرها ولا لالا
هذين الامرين موجودين فى الجافا وليس فى قاعدة البيانات
فى بداية البرنامج اكتب
conn.setAutoCommit("false");ثم بعد ذلك استخدم commit و rollback كما تشاء
تحياتى
تم تعديل هذه المشاركة بواسطة Oracle_Java في 11 نوفمبر 2010 في 16:16
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳
شكرا اريد توضيح بسيط وسها عن هذين الامرين
commit و rollback
تم تعديل هذه المشاركة بواسطة lovely_ned في 11 نوفمبر 2010 في 18:33
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…