المشاركات : 170
المواضيع 12
الإنتساب : Sep 2014
السمعة :
38
الشكر: 368
تم شكره 1740 مرات في 69 مشاركات
السلام عليكم ورحمة الله وبركاته
اهلا بكم أحبتي الأكارم
سؤالي فقط هو
انه عندما نستخدم اتصال بقاعدة البيانات من النوع اكسيس مثلا
نقوم بفتح الاتصال بالقاعدة ومن ثم نقوم بالاستعلام بأحد عدد من جمل الاتصال والاتصال مفتوح دون الحاجه الى غلق الاتصال وفتحه من جديد
وهذا على خلاف ما يحدث عند الاتصال بقاعدة البيانات من النوع Mysql او النوع SQL
فهل يمكن جعل الاتصال مفتوح في النوعين الاخرين او أي منهما
ويتم الاستعلام كما هو الحال في الاكسيس دون الحاجه الى غلق وفتح الاتصال كلما احتجت ان اقوم بالاستعلام من القاعده ؟
وشكرا ..
ربما تغمض عينيك في سقف غرفتك فلا تفتحها الا أمام جبار السماوات والأرض يوم القيامه ...
" لا تنس آخرتك "
المشاركات : 1,556
المواضيع 14
الإنتساب : Apr 2013
السمعة :
253
الشكر: 3551
تم شكره 4877 مرات في 1243 مشاركات
وعليكم السلام ورحمة الله وبركاته
نعم اخي ممكن فتح الاتصال عند تشغيل البرنامج وغلقه عند إقفال البرنامج كالتالي :
تضع في الفورم لود
conn.open
تضع عند اقفال البرنامج
conn.close
بالتوفيق
المشاركات : 170
المواضيع 12
الإنتساب : Sep 2014
السمعة :
38
الشكر: 368
تم شكره 1740 مرات في 69 مشاركات
اخي حريف برمجه اشكرك اولا على ردك
لكن اخي سؤالي في امكانية تنفيذ مجموعة من الاستعلامات بمجرد فتح الاتصال لمرة واحده كما يحدث في الاكسيس ام لابد من غلق وفتح الاتصال كلما قمت بتنفيذ استعلام
وليس سؤالي في ماهو كود الفتح او كود الغلق
بارك الله فيك ..
ربما تغمض عينيك في سقف غرفتك فلا تفتحها الا أمام جبار السماوات والأرض يوم القيامه ...
" لا تنس آخرتك "
المشاركات : 1,556
المواضيع 14
الإنتساب : Apr 2013
السمعة :
253
الشكر: 3551
تم شكره 4877 مرات في 1243 مشاركات
بصراحه سؤالك غير واضح في الأول والأخير ,,
على العموم إمكانية فتح الاتصال ثم
عمل اي شي يحلو لك مثلاً :
تعمل استعلام رقم 1
تعمل ايضاً استعلام رقم 2
تعمل ايضاً استعلام رقم 3
إلخ
ثم تغلق الاتصال .
إذا كان هذا طلبك ،، او وضح بصورة افضل .
المشاركات : 7,394
المواضيع 803
الإنتساب : Sep 2013
السمعة :
847
الشكر: 13249
تم شكره 18798 مرات في 4415 مشاركات
14-07-17, 07:55 PM
(آخر تعديل لهذه المشاركة : 14-07-17, 08:11 PM {2} بواسطة سعود.)
اصلا فيه طريقتين للاتصال : متصل - منفصل
فتح الاتصال وغلقه يتبع النوع المتصل وهنا من ينصح باستخدام using فهو الكفيل باغلاق او انهاء الاتصال بعد الانتهاء منه.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
المشاركات : 1,486
المواضيع 101
الإنتساب : Sep 2012
السمعة :
127
الشكر: 71
تم شكره 6155 مرات في 1035 مشاركات
14-07-17, 07:57 PM
(آخر تعديل لهذه المشاركة : 14-07-17, 09:11 PM {2} بواسطة silverlight.)
نعم تستطيع تنفيذ مجموعة من الاستعلامات مرة واحدة
لكن مشكلتك في متي سيقوم GC Class بالتخلص من هذه الاستعلامات
لو الأمر ضروري جدا الافضل تنفذ الاستعلامات و تحفظها في DataTable مثلا
ولكي تضمن أن لا يحدث لها Dispose قبل استخدامها
عليك أن أن تحفظها في ملفات مؤقتة في اي مكان علي الكمبيوتر
وحين تقرأ الإستعلام من الملف تحذفه
او تحذف هذه الملفات حين تغلق الفورم
فيه طريقة تانية انك تستخدم GCHandle Class و تكتب البيانات في الذاكرة
لكن صعب التحديد الي متي ستعيش البيانات في ذاكرة الكمبيوتر
المشاركات : 1,556
المواضيع 14
الإنتساب : Apr 2013
السمعة :
253
الشكر: 3551
تم شكره 4877 مرات في 1243 مشاركات
15-07-17, 02:25 AM
(آخر تعديل لهذه المشاركة : 15-07-17, 04:24 AM {2} بواسطة حريف برمجة.)
اذا كان مستخدم الجهاز شخص واحد بمعنى جهاز حاسب آلي واحد فهناك طريقة كالتالي :
عند تشغيل البرنامج تضع بيانات قاعدة البيانات في داتاسيت ثم تتعامل مع الداتا سيت من اضافة سجلات جديدة او حذف او تعديل او استعلام إلخ ثم عند اغلاق البرنامج تعمل تعديلات لقاعدة البيانات من الداتا سيت ،،، ولكن هذه الطريقة فيها مجازفة وخطيرة لو عملت تعديلات في الداتاسيت ثم انفصلت الكهرباء عن الجهاز ستفقد التعديلات .
المشاركات : 170
المواضيع 12
الإنتساب : Sep 2014
السمعة :
38
الشكر: 368
تم شكره 1740 مرات في 69 مشاركات
شكرا جزيلا لكم ..
بوركتم وبورك جهدكم
ربما تغمض عينيك في سقف غرفتك فلا تفتحها الا أمام جبار السماوات والأرض يوم القيامه ...
" لا تنس آخرتك "
المشاركات : 170
المواضيع 12
الإنتساب : Sep 2014
السمعة :
38
الشكر: 368
تم شكره 1740 مرات في 69 مشاركات
حياك الله اخي سندباد ..
لكني اخي الفاضل عند تنفيذ استعلام آخر بعد أول اتصال
يظهر لي رسالة بان الاتصال مفتوح لابد من اغلاقه أولا
وكذلك العكس بالطبع
لو كان مغلق يخبرني بانه لابد من فتحه
فأضطر الى اغلاق الاتصال الاول ثم فتح اتصال جديد مع كل عملية اتصال
فالمجمل يكون الاتصال بطيئ
خاصة اني اتصل عن طريق قاعدة بيانات MS-SQL على سيرفر على الانترنت
ويحدث هذا أيضا عند الاتصال بقاعدة بيانات من نوع MYSQL غير انها أبطأ عند الاتصال مع DESKTOP APPLICATION
لكن هذا ابدا لايحدث مع الاكسيس
ربما تغمض عينيك في سقف غرفتك فلا تفتحها الا أمام جبار السماوات والأرض يوم القيامه ...
" لا تنس آخرتك "