تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة في فتح وغلق الاتصال عند الاستعلام
#1
السلام عليكم ورحمة الله وبركاته

اهلا بكم أحبتي الأكارم

سؤالي فقط هو
انه عندما نستخدم اتصال بقاعدة البيانات من النوع اكسيس مثلا
نقوم بفتح الاتصال بالقاعدة ومن ثم نقوم بالاستعلام بأحد عدد من جمل الاتصال والاتصال مفتوح دون الحاجه الى غلق الاتصال وفتحه من جديد

وهذا على خلاف ما يحدث عند الاتصال بقاعدة البيانات من النوع Mysql او النوع SQL
فهل يمكن جعل الاتصال مفتوح في النوعين الاخرين او أي منهما
ويتم الاستعلام كما هو الحال في الاكسيس دون الحاجه الى غلق وفتح الاتصال كلما احتجت ان اقوم بالاستعلام من القاعده ؟

وشكرا ..


ربما تغمض عينيك في سقف غرفتك فلا تفتحها الا أمام جبار السماوات والأرض يوم القيامه ... 
 " لا تنس آخرتك "
الرد }}}
تم الشكر بواسطة: سعود , سعود
#2
وعليكم السلام ورحمة الله وبركاته

نعم اخي ممكن فتح الاتصال عند تشغيل البرنامج وغلقه عند إقفال البرنامج كالتالي :

تضع في الفورم لود
conn.open

تضع عند اقفال البرنامج
conn.close

بالتوفيق
الرد }}}
تم الشكر بواسطة: mstfa1991 , سعود , Ahmed_Mansoor , Ahmed_Mansoor , Amir_Alzubidy
#3
اخي حريف برمجه اشكرك اولا على ردك
لكن اخي سؤالي في امكانية تنفيذ مجموعة من الاستعلامات بمجرد فتح الاتصال لمرة واحده كما يحدث في الاكسيس ام لابد من غلق وفتح الاتصال كلما قمت بتنفيذ استعلام
وليس سؤالي في ماهو كود الفتح او كود الغلق

بارك الله فيك ..


ربما تغمض عينيك في سقف غرفتك فلا تفتحها الا أمام جبار السماوات والأرض يوم القيامه ... 
 " لا تنس آخرتك "
الرد }}}
تم الشكر بواسطة: سعود , سعود
#4
بصراحه سؤالك غير واضح في الأول والأخير ,,

على العموم إمكانية فتح الاتصال ثم

عمل اي شي يحلو لك مثلاً :

تعمل استعلام رقم 1
تعمل ايضاً استعلام رقم 2
تعمل ايضاً استعلام رقم 3
إلخ

ثم تغلق الاتصال .

إذا كان هذا طلبك ،، او وضح بصورة افضل .
الرد }}}
#5
اصلا فيه طريقتين للاتصال : متصل  -  منفصل
فتح الاتصال وغلقه يتبع النوع المتصل وهنا من ينصح باستخدام using  فهو الكفيل باغلاق او انهاء الاتصال بعد الانتهاء منه.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
#6
نعم تستطيع تنفيذ مجموعة من الاستعلامات مرة واحدة
لكن مشكلتك في متي سيقوم GC Class بالتخلص من هذه الاستعلامات
لو الأمر ضروري جدا الافضل تنفذ الاستعلامات و تحفظها في DataTable مثلا
ولكي تضمن أن لا يحدث لها Dispose قبل استخدامها
عليك أن أن تحفظها في ملفات مؤقتة في اي مكان علي الكمبيوتر
وحين تقرأ الإستعلام من الملف تحذفه
او تحذف هذه الملفات حين تغلق الفورم

فيه طريقة تانية انك تستخدم GCHandle Class و تكتب البيانات في الذاكرة
لكن صعب التحديد الي متي ستعيش البيانات  في ذاكرة الكمبيوتر
الرد }}}
#7
اذا كان مستخدم الجهاز شخص واحد بمعنى جهاز حاسب آلي واحد فهناك طريقة كالتالي :

عند تشغيل البرنامج تضع بيانات قاعدة البيانات في داتاسيت ثم تتعامل مع الداتا سيت من اضافة سجلات جديدة او حذف او تعديل او استعلام إلخ ثم عند اغلاق البرنامج تعمل تعديلات لقاعدة البيانات من الداتا سيت ،،، ولكن هذه الطريقة فيها مجازفة وخطيرة لو عملت تعديلات في الداتاسيت ثم انفصلت الكهرباء عن الجهاز ستفقد التعديلات .
الرد }}}
#8
شكرا جزيلا لكم ..
بوركتم وبورك جهدكم


ربما تغمض عينيك في سقف غرفتك فلا تفتحها الا أمام جبار السماوات والأرض يوم القيامه ... 
 " لا تنس آخرتك "
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy , سعود
#9
(14-07-17, 01:31 PM)Dr.Sherif Alazizi كتب : السلام عليكم ورحمة الله وبركاته

اهلا بكم أحبتي الأكارم

سؤالي فقط هو
انه عندما نستخدم اتصال بقاعدة البيانات من النوع اكسيس مثلا
نقوم بفتح الاتصال بالقاعدة ومن ثم نقوم بالاستعلام بأحد عدد من جمل الاتصال والاتصال مفتوح دون الحاجه الى غلق الاتصال وفتحه من جديد

وهذا على خلاف ما يحدث عند الاتصال بقاعدة البيانات من النوع Mysql او النوع SQL
فهل يمكن جعل الاتصال مفتوح في النوعين الاخرين او أي منهما
ويتم الاستعلام كما هو الحال في الاكسيس دون الحاجه الى غلق وفتح الاتصال كلما احتجت ان اقوم بالاستعلام من القاعده ؟

وشكرا ..
وعليكم السلام 

يمكن استخدام نفس الطريقة  مع اي قاعدة بيانات.
وليس شرط اغلاق الاتصال بعد كل عملية 
والله الموفق
الرد }}}
تم الشكر بواسطة: سعود
#10
حياك الله اخي سندباد ..

لكني اخي الفاضل عند تنفيذ استعلام آخر بعد أول اتصال
يظهر لي رسالة بان الاتصال مفتوح لابد من اغلاقه أولا

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

فأضطر الى اغلاق الاتصال الاول ثم فتح اتصال جديد مع كل عملية اتصال
فالمجمل يكون الاتصال بطيئ

خاصة اني اتصل عن طريق قاعدة بيانات MS-SQL على سيرفر على الانترنت
ويحدث هذا أيضا عند الاتصال بقاعدة بيانات من نوع MYSQL غير انها أبطأ عند الاتصال مع DESKTOP APPLICATION

لكن هذا ابدا لايحدث مع الاكسيس


ربما تغمض عينيك في سقف غرفتك فلا تفتحها الا أمام جبار السماوات والأرض يوم القيامه ... 
 " لا تنس آخرتك "
الرد }}}
تم الشكر بواسطة:



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


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