السلام عليكم ورحمة الله وبركاته
اهلا بكم أحبتي الأكارم
سؤالي فقط هو
انه عندما نستخدم اتصال بقاعدة البيانات من النوع اكسيس مثلا
نقوم بفتح الاتصال بالقاعدة ومن ثم نقوم بالاستعلام بأحد عدد من جمل الاتصال والاتصال مفتوح دون الحاجه الى غلق الاتصال وفتحه من جديد
وهذا على خلاف ما يحدث عند الاتصال بقاعدة البيانات من النوع Mysql او النوع SQL
فهل يمكن جعل الاتصال مفتوح في النوعين الاخرين او أي منهما
ويتم الاستعلام كما هو الحال في الاكسيس دون الحاجه الى غلق وفتح الاتصال كلما احتجت ان اقوم بالاستعلام من القاعده ؟
وشكرا ..
وعليكم السلام ورحمة الله وبركاته
نعم اخي ممكن فتح الاتصال عند تشغيل البرنامج وغلقه عند إقفال البرنامج كالتالي :
تضع في الفورم لود
conn.open
تضع عند اقفال البرنامج
conn.close
بالتوفيق
اخي حريف برمجه اشكرك اولا على ردك
لكن اخي سؤالي في امكانية تنفيذ مجموعة من الاستعلامات بمجرد فتح الاتصال لمرة واحده كما يحدث في الاكسيس ام لابد من غلق وفتح الاتصال كلما قمت بتنفيذ استعلام
وليس سؤالي في ماهو كود الفتح او كود الغلق
بارك الله فيك ..
بصراحه سؤالك غير واضح في الأول والأخير ,,
على العموم إمكانية فتح الاتصال ثم
عمل اي شي يحلو لك مثلاً :
تعمل استعلام رقم 1
تعمل ايضاً استعلام رقم 2
تعمل ايضاً استعلام رقم 3
إلخ
ثم تغلق الاتصال .
إذا كان هذا طلبك ،، او وضح بصورة افضل .
اصلا فيه طريقتين للاتصال : متصل - منفصل
فتح الاتصال وغلقه يتبع النوع المتصل وهنا من ينصح باستخدام using فهو الكفيل باغلاق او انهاء الاتصال بعد الانتهاء منه.
نعم تستطيع تنفيذ مجموعة من الاستعلامات مرة واحدة
لكن مشكلتك في متي سيقوم GC Class بالتخلص من هذه الاستعلامات
لو الأمر ضروري جدا الافضل تنفذ الاستعلامات و تحفظها في DataTable مثلا
ولكي تضمن أن لا يحدث لها Dispose قبل استخدامها
عليك أن أن تحفظها في ملفات مؤقتة في اي مكان علي الكمبيوتر
وحين تقرأ الإستعلام من الملف تحذفه
او تحذف هذه الملفات حين تغلق الفورم
فيه طريقة تانية انك تستخدم GCHandle Class و تكتب البيانات في الذاكرة
لكن صعب التحديد الي متي ستعيش البيانات في ذاكرة الكمبيوتر
اذا كان مستخدم الجهاز شخص واحد بمعنى جهاز حاسب آلي واحد فهناك طريقة كالتالي :
عند تشغيل البرنامج تضع بيانات قاعدة البيانات في داتاسيت ثم تتعامل مع الداتا سيت من اضافة سجلات جديدة او حذف او تعديل او استعلام إلخ ثم عند اغلاق البرنامج تعمل تعديلات لقاعدة البيانات من الداتا سيت ،،، ولكن هذه الطريقة فيها مجازفة وخطيرة لو عملت تعديلات في الداتاسيت ثم انفصلت الكهرباء عن الجهاز ستفقد التعديلات .
شكرا جزيلا لكم ..
بوركتم وبورك جهدكم
(14-07-17, 01:31 PM)Dr.Sherif Alazizi كتب : [ -> ]السلام عليكم ورحمة الله وبركاته
اهلا بكم أحبتي الأكارم
سؤالي فقط هو
انه عندما نستخدم اتصال بقاعدة البيانات من النوع اكسيس مثلا
نقوم بفتح الاتصال بالقاعدة ومن ثم نقوم بالاستعلام بأحد عدد من جمل الاتصال والاتصال مفتوح دون الحاجه الى غلق الاتصال وفتحه من جديد
وهذا على خلاف ما يحدث عند الاتصال بقاعدة البيانات من النوع Mysql او النوع SQL
فهل يمكن جعل الاتصال مفتوح في النوعين الاخرين او أي منهما
ويتم الاستعلام كما هو الحال في الاكسيس دون الحاجه الى غلق وفتح الاتصال كلما احتجت ان اقوم بالاستعلام من القاعده ؟
وشكرا ..
وعليكم السلام
يمكن استخدام نفس الطريقة مع اي قاعدة بيانات.
وليس شرط اغلاق الاتصال بعد كل عملية
والله الموفق
حياك الله اخي سندباد ..
لكني اخي الفاضل عند تنفيذ استعلام آخر بعد أول اتصال
يظهر لي رسالة بان الاتصال مفتوح لابد من اغلاقه أولا
وكذلك العكس بالطبع
لو كان مغلق يخبرني بانه لابد من فتحه
فأضطر الى اغلاق الاتصال الاول ثم فتح اتصال جديد مع كل عملية اتصال
فالمجمل يكون الاتصال بطيئ
خاصة اني اتصل عن طريق قاعدة بيانات MS-SQL على سيرفر على الانترنت
ويحدث هذا أيضا عند الاتصال بقاعدة بيانات من نوع MYSQL غير انها أبطأ عند الاتصال مع DESKTOP APPLICATION
لكن هذا ابدا لايحدث مع الاكسيس