تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
إغلاق الإتّصال بقاعدة البيانات
#1
السّلام عليكم و رحمة الله و بركاته
إخواني الأفاضل .. فعلاً لم أجد مخرجًا لهذه الإشكاليّة التي تعبت بها كثيرًَا و جرّبت كل الطرق لكن للأسف لم أنجح في إغلاق الإتّصال بقاعدة البيانات لأجراء عملية النّسخ الإحتياطي عند الخروج من المشروع ..
المشروع المقدّم بقسم الأمثلة و المشاريع بعنوان :
مشروع مبيعات مفتوح المصدر 2018 للأخ الكريم MohammedVego  بارك الله فيه و له و جزاه خير الجزاء و زادها بموازين حسناته إن شاء الله .. المشروع باسم ELAEER
الإتّصال بقاعدة البيانات من فتح و إغلاق يسير على أكمل وجه و على أحسن حال إلاّ عند فتح تقارير الطباعة
لاحظو إخواني الأكارم ..
الإتّصال بقاعدة البيانات ينفتح و ينغلق حسب ما هو موجود من
Con.Open و Con.Close
و مباشرة بعد محاولة الطباعة و فتح التّقرير ..
ينفتح الإتّصال و يبقى مفتوحًا لأبد الآبدين
حاولت بكل الطرق إغلاقه لأجري عمليّة الضغط و الإصلاح و النّسخ الإحتياطي .. من Close إلى Dispose و بكل الكلمات التي تمد للإغلاق بالصلة
لكن للأسف تبقى قاعدة البيانات مفتوحة على طول لغاية فتحها يدويا و إغلاقها من جديد
بل أكثر من ذلك ..
رفعت بعض فورمات المشروع من جديد
و أنشأت تقريرا جديدا و قاعدة بيانات جديدة و بقيت نفس المشكلة
و بنفس رسالة الخطأ أثناء محاولة النسخ الإحتياطي
علما .. لو فتحت تقريرا للطباعة أخرا لا تكون لدي أي مشكلة بالنّسخ الإحتياطي
المشكلة بتقارير المشروع المذكور فقط .. بمعنى لديّ كمثال تقارير أخرى ليس لها علاقة بفاتورة المبيعات أو المشتريات و تعمل بطريقة عادية و لا تحدث أي مشكلة بالنسخ الإحتياطي أو غيره ..
و ضعت المشكلة إخواني بهذا القسم و ليس قسم التقارير و الطباعة فقط لأنّي إرتأيت أنّ المشكلة مشكلة تقنية ليس لها علاقة بالطباعة أو تساؤل حول إنشاء التقارير
الرّجاء إخواني المساعدة بحل هذه المشكلة بارك الله فيكم و لكم مقدّمًا و جزاكم خير الجزاء
تحياتي
الرد
تم الشكر بواسطة:
#2
وعليكم السّلام و رحمة الله و بركاته

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


عموما حذفت كل تعريفات الإتصالات وانشأت Module2 ووضع إتصال واحد لتستطيع التحكم بفتحه واغلاقه من داخل المشروع.

وأجريت تعديلات كثير بخصوص طريقة غلق الإتصال بحيث جعلتها داخل Fainaly للتأكد من غلقه في جميع الحالات.


لا أعلم أين نافذة المشكلة التي واجهتك.

لهذا جرب المشروع وأخبرنا بالنتيجة.


الملفات المرفقة
.rar   ALAEER.rar (الحجم : 926.38 ك ب / التحميلات : 27)
الرد
تم الشكر بواسطة: عبد العزيز البسكري
#3
السّلام عليكم و رحمة الله و بركاته
لم أتمكن أخي الكريم " وجدي " من تجربة الملف .. منذ تحميله و أنا أحاول و لم أتمكن من مشاهدة التقرير أثناء العمل بسبب هذه الرسالة .. رغم انّي حاولت تغيير الفريموورك .. حاولت وضع هذا الكود بال Config .. لكن بدون فائدة
كود :
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <startup useLegacyV2RuntimeActivationPolicy="true">
       <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
   </startup>
</configuration>

تحياتي
الرد
تم الشكر بواسطة: a.wagdi , a.wagdi
#4
من أكبر المصائب جعل أكواد الاتصال بالداتا بيز في كل فورم او كل زر أو كل .......

فقط كما عمل الأخ الفاضل a.wagdi

كود الاتصال يوضع في Module (Public) ليصبح عام على كامل المشروع .

وعند الحاجة لفتح الاتصال فقط تضع :

conn.open

وعند الحاجة لغلقة فقط تضع :

conn.close

وبهذي الطريقة لو تم تعديل اسم القاعدة مثلاً او كلمة سر فتح الداتا بيز سوف تغيرة مره واحدة في مكان واحد .

اما فيما يخص قاعدة البيانات لا تقفل بعد الطباعة .... لو امكن تضع الكود المسؤول عن الطباعة لعل المشكلة منه .
بسم الله الرحمن الرحيم > "اللَّهُ نُورُ السَّمَاوَاتِ وَالْأَرْضِ ۚ مَثَلُ نُورِهِ كَمِشْكَاةٍ فِيهَا مِصْبَاحٌ ۖ الْمِصْبَاحُ فِي زُجَاجَةٍ ۖ الزُّجَاجَةُ كَأَنَّهَا كَوْكَبٌ دُرِّيٌّ يُوقَدُ مِن شَجَرَةٍ مُّبَارَكَةٍ زَيْتُونَةٍ لَّا شَرْقِيَّةٍ وَلَا غَرْبِيَّةٍ يَكَادُ زَيْتُهَا يُضِيءُ وَلَوْ لَمْ تَمْسَسْهُ نَارٌ ۚ نُّورٌ عَلَىٰ نُورٍ ۗ يَهْدِي اللَّهُ لِنُورِهِ مَن يَشَاءُ ۚ وَيَضْرِبُ اللَّهُ الْأَمْثَالَ لِلنَّاسِ ۗ وَاللَّهُ بِكُلِّ شَيْءٍ عَلِيمٌ" < صدق الله العظيم
الرد
تم الشكر بواسطة: عبد العزيز البسكري , a.wagdi , a.wagdi
#5
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك أخي الكريم " حريف برمجة " على التنوير .. الله ينوّر طريقك إن شاء الله
أنا بالفعل .. حذفت جميع أكواد الإتّصال من جميع الشاشات ووضعته بموديل واحد عام ..
المشكلة أخي تظهر فقط مع التقارير يعني لو دخلت المشروع أضفت و عدلت و حذفت مع جميع الشاشات كل الأمور تسير بشكل عادي إلا عند الطباعة تظهر المشكلة
أما كود الطباعة هو نفسه الكود الموجود بالمشروع لم أغيّر شيئا
أجدد شكري و تقديري لمشاركتنا الموضوع برأيك السديد
تحياتي
الرد
تم الشكر بواسطة: a.wagdi , a.wagdi
#6
وعليكم السلام ورحمة الله


أخي الكريم
تم تحديث المرفق في المشاركة السابقة
الرد
تم الشكر بواسطة: عبد العزيز البسكري
#7
السّلام عليكم و رحمة الله و بركاته
و الله أخي وجدي بجد أتعبتك معي عسى الله أن يعوّضك بأفضل من هذا و يجازيك خير الجزاء إن شاء الله
شوف سيّدي الكريم ..
أنا رفعت الملف الجديد بعد التحديث .. فتحته تماما مثلما هو .. لم أغيّر ولو نقطة واحدة
كل الشاشات تشتغل زي الفل و الحمد لله ..
أنا أنظر لمجلّد ال Debug و ألاحظ قاعدة البيانات
ليس بها أي خلل و تشتغل بطريقة حسنة
بمجرّد تجربة فاتورة و أردت طباعتها و فتحت التقرير
إنفتح الإتّصال و كالعادة لم ينغلق إلاّ بعد الدخول لقاعدة البيانات يدويا و الخروج منها .. لإغلاقه ..
قاعدة البيانات هذه المشار إليها باللون الأصفر و أنا أراقب مجلد ال Debug قبل فتح التقرير كانت مغلقة .. و بمجرد فتح التقرير إنفتح الإتّصال
أنا عامل كود النسخ الإحتياطي عند الخروج النهائي من المشروع
و بهذا الإتّصال المفتوح الذي لا ينغلق سبّب لي خللا في تنفيذ الكود
بمعنى لو دخلت المشروع بدون عمل تقارير تسير العملية بطريقة عادية
هذه صورة للملف الأخير و نفس الإشكالية
لم أفهم فعلا المشكلة ..
أكيد لها إرتباط ببعض الكواد لكن عجزت عن حلها
بارك الله فيك و لك أخي الكريم على المجهود الطيّب
ملاحظة : هذه الإشكاليّة بعد فتح تقارير الطباعة و بقاء الإتّصال مفتوحا ليس بهذا الملف فقط و إنّما حتى بمشروع الفاتورة المشابه Yazsys
تحياتي و تشكراتي
الرد
تم الشكر بواسطة: a.wagdi , a.wagdi
#8
السلام عليكم كيف الحال اخي عبد العزيز ، اتمنى انك بتمام العافية 
تعقيبا على اساتذتنا الكرام هناك طريقة للإتصال تغني عن الإتصال كل مرة و هي الاتصال من ملف appConfig
 قم بكتابة الكود التالي في ملف appConfig
كود :
<connectionStrings>
 <add connectionString ="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\db.accdb;Persist Security Info=True;Jet OLEDB:Database Password=****" name ="con"/>
</connectionStrings>
 
ثم قم بإضافة System.Configuration من Reference
ثم قم بكتابة الكود التالي في الموديل 
كود :
Public con As New OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings("con").ConnectionString)
و من المحتمل ان يكون هناك فورم عامل له hide حيث انصحك ان تقوم بعمل DestroyHandle في حدث formClose 
 تحياتي لك بالتوفيق
الرد
تم الشكر بواسطة: a.wagdi , a.wagdi , عبد العزيز البسكري
#9
(25-12-18, 02:26 AM)عبد العزيز البسكري كتب :
السّلام عليكم و رحمة الله و بركاته
و الله أخي وجدي بجد أتعبتك معي عسى الله أن يعوّضك بأفضل من هذا و يجازيك خير الجزاء إن شاء الله
شوف سيّدي الكريم ..
أنا رفعت الملف الجديد بعد التحديث .. فتحته تماما مثلما هو .. لم أغيّر ولو نقطة واحدة
كل الشاشات تشتغل زي الفل و الحمد لله ..
أنا أنظر لمجلّد ال Debug و ألاحظ قاعدة البيانات
ليس بها أي خلل و تشتغل بطريقة حسنة
بمجرّد تجربة فاتورة و أردت طباعتها و فتحت التقرير
إنفتح الإتّصال و كالعادة لم ينغلق إلاّ بعد الدخول لقاعدة البيانات يدويا و الخروج منها .. لإغلاقه ..
قاعدة البيانات هذه المشار إليها باللون الأصفر و أنا أراقب مجلد ال Debug قبل فتح التقرير كانت مغلقة .. و بمجرد فتح التقرير إنفتح الإتّصال
أنا عامل كود النسخ الإحتياطي عند الخروج النهائي من المشروع
و بهذا الإتّصال المفتوح الذي لا ينغلق سبّب لي خللا في تنفيذ الكود
بمعنى لو دخلت المشروع بدون عمل تقارير تسير العملية بطريقة عادية
هذه صورة للملف الأخير و نفس الإشكالية
لم أفهم فعلا المشكلة ..
أكيد لها إرتباط ببعض الكواد لكن عجزت عن حلها
بارك الله فيك و لك أخي الكريم على المجهود الطيّب
ملاحظة : هذه الإشكاليّة بعد فتح تقارير الطباعة و بقاء الإتّصال مفتوحا ليس بهذا الملف فقط و إنّما حتى بمشروع الفاتورة  المشابه Yazsys
تحياتي و تشكراتي


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

تم تعديل المرفق أخي الكريم


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

وبما أنك لم تخبرني بالخطوات التي اتبعتها لاعملها واعرف مكان ما صادفك من مشكلة
ولكن سأخبرك أنا بالخطوات التي اتبعتها لعلها تكون مطابقة لما فعلته

1: دخلت للبرنامج باسم المستخدم وكلمة المرور فظهرت شاشة (منظومة مبيعات)
2: ضغطت (شاشة البيع)
3: ادخلت رقم (1) وضغطت (بيع) فظهرت بيانات السلعة وهو حليب جوهينة بمبلغ 200
4: ضغطت (انتهاء من البيع) فظهرت شاشة (انهاء البع)
5: كتبت (200) ثم ضغطت (حفظ) فظهرت رسالة (تم البيع)
6: ضغطت (اطبع فاتورة) فظهرت شاشة (طباعة) وفيها تقرير كريستال ريبورت
7: ضغطت امر الطباعة واتضح انه ليس لدي ورق (مش مهم)
8: اغلقت التقرير للعودة لشاشة (انهاء البع)
9: في شاشة (انهاء البع) ضغطت (خروج) فعدت لشاشة (شاشة البيع)
10: في شاشة (شاشة البيع) ضغطت (اغلاق شاشة البيع) فعدت للشاشة الرئيسية (منظومة مبيعات)
11: في شاشة (منظومة مبيعات) ضغطت (نسخة احتياطية) فظهرت شاشة (backup)
12: في شاشة (backup) اخترت (اخذ نسخة احتياطية)
13: في شاشة (اخذ نسخة احتياطية) حددت المسار وضغطت (أخذ نسخة احتياطية) فظهرت رسالة (تم حفظ النسخة الاحتياطية بنجاح)
14: اختر مرة اخرى (استعادة نسخة احتياطية)
15: في شاشة (استعادة نسخة احتياطية) حدد المسار واخترت ملف النسخة وضغطت (استعادة نسخة احتياطية) فظهرت لي رسالة (تم استعادة النسخة الاحتياطية بنجاح)
16: اغلقت شاشة (backup) للعودة لشاشة (منظومة مبيعات)
17: ضغطت (الخروج من النظام) فتم الخروج
18: فذهبت لعمل قهوة لعلها تزيل الصداع بعد أن شاهدت أن الخطوات السابقة وصلت (17).
 والحمد لله
الرد
تم الشكر بواسطة: عبد العزيز البسكري
#10
السّلام عليكم و رحمة الله و بركاته
كل الشكر و التقدير أخي الكريم " العربي " على مشاركتنا الموضوع و فكرتك الرائعة سأجربها بإذن الله
بارك الله فيك و لك و جزاك خير الجزاء أخي
تحياتي و تشكراتي

السّلام عليكم و رحمة الله و بركاته
شكري و تقديري و عرفاني بجميل عملك معي بهذا الموضوع أخي الكريم " وجدي "
يبدو أنّي سأشرب 10 فناجين قهوة و ليس فنجانا واحدا لإزالة الصداع
بيني و بينك أخي الكريم 3 أيام و انا أحاول إغلاق الإتّصال العابر للقارات بدون فائدة
المهم يا طيّب ..
الإتّصال الأن فعلا تم إغلاقه حتى بعد عرض التقارير و الحمد لله .. و سؤال بين قوسيْن هنا لو تكرّمت ( كيف و من أيّ منصّة تم إغلاقه )
الأمر المتبقّي و هو الآن أصبح التقرير يعرض فقط سجلا واحدا ..
مهما ملأت الفاتورة بالمواد سيعرض فقط ( جهينة ) سواء بشاشة فاتورة المبيعات أو بشاشة كل الفواتير .. يتم عرض بالتقرير فقط سجل ( جهينة ) ..
تحياتي و تشكراتي و تقييماتي
الرد
تم الشكر بواسطة: a.wagdi , a.wagdi , larbihamri


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  عرض البيانات بشكل عمودي في DataGridView ابراهيم ايبو 2 72 منذ 7 ساعة مضت
آخر رد: 5000
  عرض البيانات فى الداتا جريد فيو بكمة محددة مثل من 1الى 10 ثم استدعاء مايالية10الى 20 sherf 1 65 16-03-19, 05:17 PM
آخر رد: 5000
  قاعدة البيانات سكوال سرفر محمد خيري 3 128 16-03-19, 04:22 AM
آخر رد: asemshahen5
  [VB.NET] فتح جدول موجود ضمن قاعدة البيانات EMADMW17 7 161 12-03-19, 08:05 PM
آخر رد: elgokr
  [سؤال] حفظ قيمة DateTimePicker فارغة فى قاعدة البيانات mr_hso 4 160 11-03-19, 12:24 PM
آخر رد: mr_hso
  تعديل على كود عرض البيانات مع ايقونة التحميل new_programer 0 79 09-03-19, 05:57 AM
آخر رد: new_programer
  استدعاء البيانات وتعبئتها داخل أعمدة الداتاقريدفيو نور الهدى الهدى 10 223 28-02-19, 11:35 PM
آخر رد: أبوبكر سويدان
  تصدير البيانات الى ملف اكسل ابراهيم ايبو 3 125 23-02-19, 10:59 PM
آخر رد: asemshahen5
  [VB.NET] قاعده البيانات لاتقوم بالحفظ من اول امر jassim316 4 136 22-02-19, 08:01 PM
آخر رد: elgokr
  [VB.NET] طريقة الاتصال واغلاق الاتصال بقاعدة البيانات dubai.eig 8 224 22-02-19, 07:53 PM
آخر رد: elgokr

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم