موصى به: نصيحة ASP مثال: حول برنامج نماذج التشغيل ما يلي هو المحتوى المشار إليه: إدراج محتوى النموذج في قاعدة بيانات مع ASP. <٪ ' - loader.asp -' - الإصدار 1.5.2
8.3.3 استخدام حالة الاتصاليعد حفظ سلاسل الاتصال في متغيرات التطبيق خدعة شائعة ، ويعمل بالإضافة إلى استخدام ملف مضمن. على سبيل المثال ، يمكنك إضافة الكود التالي إلى ملف Global.ASA:
sub application_onstart ()
StrConn = Provider = sqloledb ؛ مصدر البيانات = مراقب ؛ & _
الكتالوج الأولي = الحانات ؛ معرف المستخدم = Davids ؛ كلمة المرور = الويسكي
تعيين التطبيق (ConnectionString) = Strconn
نهاية الفرعية
في صفحة ASP ، يمكنك استخدام الرمز التالي:
تعيين conpubs = server.createBject (adodb.connection)
conpubs.Application (connectionString)
من وجهة نظر شخصية ، أفضل استخدام طريقة الملف المضمنة لأنني كتبت العديد من الأمثلة المختلفة للاتصال بمختلف الخوادم وقواعد البيانات. يعني استخدام طريقة التطبيق أنه يتعين عليك إغلاق المتصفح في كل مرة تقوم فيها بإعادة تشغيل التطبيق. يمكن للقراء استخدام أي طريقة يحبونها ، ولا تحدث أي فرق في السرعة.
للحصول على أمثلة في هذا القسم من هذا الكتاب ، سيتم استخدام ملف Connection.asp مع سلسلة الاتصال كملف تضمين.
8.3.4 بناء جملة الاتصال
ما هو موضح أعلاه هو نظرية ذات صلة. ماذا علي أن أفعل عندما أرغب حقًا في الاتصال بمتجر بيانات؟ إذا كنت تستخدم كائن اتصال محدد بشكل صريح ، فيمكنك استخدام الطريقة المفتوحة ، وبناء الجملة كما يلي:
Connection.Open [connectionString] ، [userId] ، [Password] ، [Options]
تظهر المعلمات في الجدول 8-1:
الجدول 8-1 المعلمات وأوصاف الطريقة المفتوحة
المعلمة
يوضح
ConnectionString
سلسلة تحتوي على تفاصيل الاتصال. يمكن أن يكون اسم ODBC DSN ، أو اسم ملف ارتباط البيانات ، أو تفاصيل الاتصال الحقيقي
userId
الاسم الذي يستخدمه المستخدم أثناء الاتصال. تجاوز أي اسم مستخدم يتم توفيره في سلسلة الاتصال
كلمة المرور
كلمة مرور المستخدم. الكتابة فوق أي كلمات مرور مقدمة في سلسلة الاتصال
خيارات
يمكن أن يكون adasyncconnect ، مع تحديد أن الاتصال تم تأسيسه بشكل غير متزامن. تجاهل هذه المعلمة وإنشاء اتصال متزامن
لا يتم استخدام الاتصالات غير المتزامنة في بيئات ASP لأن لغات البرمجة النصية لا يمكن أن تتلقى أحداثًا من ADO.
8.3.5 مثال الاتصال
فيما يلي بعض الأمثلة ، افترض هنا أن StrConn يحتوي على سلسلة اتصال صالحة.
لفتح اتصال ، استخدم الطريقة المفتوحة لكائن الاتصال. على سبيل المثال:
تعيين conpubs = server.connection (adodb.connection)
conpubs.Open Strconn
بعض المعالجة
conpubs.close
يمكنك أيضًا استخدام خاصية ConnectionString:
تعيين conpubs = server.createBject (adodb.connection)
conpubs.connectionstring = strconn
conpubs.Open
بعض المعالجة
conpubs.close
لا يوجد فرق بين هذين طريقتين للتنفيذ. إذا تم استخدام الطريقة السابقة لتنفيذ الاتصال ، يتم أيضًا تعيين خاصية ConnectionString.
تجدر الإشارة إلى أنه بمجرد إنشاء اتصال مع متجر البيانات ، يجوز لـ ADO تغيير قيمة خاصية ConnectionString. لا تقلق ، يملأ ADO فقط بعض قيم السمات الإضافية.
8.3.6 الاتصال بمسبح العازلة
تخلط تجمعات الاتصال دائمًا عن الكثير من الناس ، لكن المبدأ في الواقع بسيط للغاية. عند إغلاق اتصال ، يتم إغلاق الاتصال في حالة المستخدم (و ADO). ولكن في الواقع ، لا يغلق Ole DB الاتصال ، ولكنه فقط وضعه في تجمع العازلة غير النشط. في أي وقت يفتح أحد المستخدمين (أو غيرهم) اتصالًا ، يكتشف OLE DB أولاً ما إذا كان هناك اتصال بنفس تفاصيل الاتصال في تجمع الاتصال. إذا كان الأمر كذلك ، فسيتم الحصول على هذا الاتصال مباشرة من تجمع العازلة. إذا لم يكن كذلك ، قم بإنشاء اتصال جديد للمستخدم. لتجنب هدر الموارد ، يتم مسح الاتصال من تجمع العازلة بعد فترة افتراضية من الوقت.
إذن ، ما هي مزاياه؟ من المحتمل أن يكون فتح اتصال أحد أبطأ العمليات التي يتم إجراؤها ، ويسمح تجمع المخزن المؤقت للاتصال للمستخدم بالاتصال بمخزن البيانات مرة أخرى دون الحاجة إلى إعادة إنشاء الاتصال. هذا مهم بشكل خاص لمواقع الويب التي تفتح باستمرار وإغلاق عدد كبير من الاتصالات.
بالنسبة لاتصالات ODBC ، يتم التحكم في تجمع المخزن المؤقت للاتصال بواسطة مسؤول مصدر بيانات ODBC. بالنسبة إلى OLE DB ، لا يمكن تغيير تجمع Connection Buffer (أو تجمع العازلة للجلسة).
تجدر الإشارة إلى أن تجمع المخزن المؤقت للاتصال ليس مشاركة اتصال. لا يمكن استخدام اتصال إلا مرة أخرى بعد إغلاقه من قبل العميل.
التدبير المنزلي
من أجل أن يصدر مفعول تجمع المخزن المؤقت للاتصال ، من الضروري التأكد من أن التدبير المنزلي في حالة منظمة. يتضمن ذلك إغلاق كائنات الاتصال في الوقت المناسب بحيث يمكن إعادة استخدامها إلى تجمع العازلة. قد تظن أن فتحات الفتح والإغلاق باستمرار مكلفة للنظام ، ولكن يجب عليك قياس قابلية التوسع - قد يتم استخدام تطبيقك من قبل العديد من الأشخاص ، و OLE DB جيد جدًا في إدارة موارد الاتصال.
المبدأ العام هو: تحديد الاتصال في وقت متأخر قدر الإمكان ، وفي الوقت نفسه يغلق الاتصال في وقت مبكر في وقت مبكر ، وذلك لضمان أقصر فترة زمنية للاتصال.
8.4 مجموعة السجلات
كما ذكرنا سابقًا ، فإن Records Sets هي الكائنات الأكثر استخدامًا في ADO ، وهو أمر غير مفاجئ. بعد كل شيء ، أنها تحتوي على البيانات. ومع ذلك ، هناك ما هو أكثر من مجموعة السجلات أكثر مما تعتقد ، ومن المهم معرفة كيفية حفظ البيانات ومعالجتها ، لأن هذا يوفر المزيد من المرجع لاختيار السجلات التي يجب استخدامها.
مجموعات التسجيلات لها أنواع مختلفة ، وهناك اختلافات في بعض الأماكن الصغيرة ، والتي يمكن أن تؤدي بسهولة إلى أخطاء. أول شيء تحتاج إلى التحدث عنه بجدية هو مفهوم المؤشر.
8.4.1 المؤشر
المؤشر هو مفهوم يربك الكثير من الناس ، لكنه في الواقع بسيط للغاية.
يتم استخدام المؤشر لإدارة مجموعة السجلات والموقف الحالي لمجموعة السجلات ، والتي تتم معالجتها بواسطة مؤشر السجل الحالي.
أليس هذا ما يفعله كائن مجموعة السجل؟ نعم ، لكن مجموعة السجلات تعتمد أيضًا على المؤشر. لا يزال هذا لا يجيب على السؤال حول ماهية المؤشر ، لذلك دعونا نلقي نظرة أولاً على مجموعة سجلات ، كما هو موضح في الجدول 8-2:
au_id
au_lname
au_fname
هاتف
172-32-1176
أبيض
بوب
408 496-7223
219-46-8915
أخضر
مارجوري
415 986-7020
238-95-7766
كارسون
شيريل
415 548-7723
267-41-2394
أوليري
مايكل
408 286-2428
274-80-9391
مستقيم
عميد
415 834-2919
341-22-1782
سميث
تسكع
913 843-0462
هناك ستة صفوف وأربعة أعمدة هنا. افتح مجموعة سجلات ، والسجل الحالي هو السجل الأول ، أي سجل بوب وايت. ماذا تستخدم لتحديد السجل الحالي؟ استخدم مؤشر السجل الحالي. فكيف تتعامل مع هذا المؤشر؟ عندما يكون من الضروري الانتقال إلى السجل التالي أو السجل الآخر ، يتم تحقيقه من خلال المؤشر. عند الوصول إلى حقل الصف الحالي ، يعرف المؤشر الصف الموجود حاليًا ، بحيث يمكنه إرجاع القيمة الصحيحة. إذا حاولت الخروج من الصف الأخير من مجموعة السجلات ، فسيقوم المؤشر بمعالجة ذلك أيضًا.
هناك طريقة جيدة لفهم المؤشر وهي تخيل المؤشر كنافذة يمكن نقلها داخل مجموعة التسجيلات. هذه النافذة طويلة وطول صف واحد في مجموعة السجلات ، بحيث يمكنك رؤية صف واحد فقط من قيم البيانات في وقت واحد. عندما تنتقل إلى سجل آخر ، تتحرك النافذة.
ربما تعتقد أن هذا أمر بسيط للغاية ، لكن هذا مهم لأن ما يمكنك فعله مع المؤشر يتم تحديده حسب نوع المؤشر.
المشاركة: الروتين: استخدم ASP لتحديد ما إذا كان عنوان الملف صالحًا ما يلي هو المحتوى المقتبس: <٪ response.write (<head> <style> <!-span {font-size: 9pt}-> </style> </head & g