الموصى به: يستخدم ASP.NET RAR لتنفيذ ضغط الملفات وإزالة الضغط إذا تم تثبيت برنامج RAR على الخادم ، فيمكن لـ ASP.NET الاتصال بـ RAR لتنفيذ ضغط الملف وإزالة الضغط. ومع ذلك ، تجدر الإشارة إلى أنه نظرًا لأن برامج الويب لا يمكنها الاتصال مباشرة برامج العميل (ما لم يتم استخدام ActiveX ، يتم التخلي عن ActiveX تقريبًا) ، إذا كنت ترغب في تنفيذها ،
8.2.5 دفق كائناتيتم استخدام كائنات الدفق للوصول إلى محتوى العقدة ، مثل رسالة البريد الإلكتروني أو صفحة ويب. استخدم كائنات الدفق للوصول إلى المحتوى الحقيقي لملف أو مورد. لذلك ، لا يمكن دمج كائنات السجلات والسجلات فقط الوصول إلى الملفات أو رسائل البريد الإلكتروني على خادم الويب ، ولكن أيضًا الوصول إلى المحتوى المقابل. وبهذه الطريقة ، يمكنك إنشاء عميل بريد يستخدم فقط ADO للوصول إلى نظام البريد. قد لا يكون لهذا المزايا العديدة ، ولكن هذا يعني أنك لست مضطرًا إلى فهم واجهة برمجة تطبيقات نظام البريد أو نموذج الكائن ، مما يقلل من حالات التعلم.
استخدام آخر للتيار هو XML ، والذي يمكنه الوصول إلى سلسلة من البيانات (منظمة أو شبه منظمة) مثل تدفقات XML.
يتم استخدام كائنات الدفق لمعالجة البيانات الثنائية ، بحيث يمكن استخدامها لمعالجة بيانات نوع النقطة ، مثل الصورة أو البيانات النصية الكبيرة في قاعدة بيانات.
وبالمثل ، سترى المزيد من الأمثلة على كائنات الدفق في الفصلين 11 و 12 من هذا الكتاب.
8.2.6 مجموعة
هناك بعض المجموعات في مكتبة كائن ADO ، ولكل منها نسخ صفر أو أكثر من الكائنات المرتبطة بها. يمكنك استخدام نفس بنية الكود لاجتياز هذه المجموعات.
بناء الجملة في vbscript هو:
لكل كائن في المجموعة
افعل شيئًا مع الكائن
التالي
على سبيل المثال ، تكرار مجموعة من الحقول من كائن مجموعة السجلات:
لكل Objfield في Rs.fields
repart.write objfield.name & <br>
التالي
إذا قمت بتحديد JScript ، فيمكنك استخدام كائن العداد:
لـ (objfield = new enumerator (rs.fields) ؛
! objfield.atend () ؛ objfield.movenext ())
Response.write (objfield.item (). الاسم '<br>') ؛
1. مجموعة الحقول
تحتوي مجموعات الحقول على كائنات حقل مرتبطة بـ Records أو السجلات. بالنسبة لمجموعة سجل استنادًا إلى البيانات المهيكلة ، مثل بيانات SQL ، تتوافق الحقول مع الأعمدة الموجودة في البيانات وتحتوي على محتوى تفصيلي للأعمدة ، مثل الاسم ونوع البيانات والطول وما إلى ذلك. أرى الكثير من الأمثلة حول مجموعات الحقول في الفصول القليلة التالية.
بالنسبة للبيانات شبه المنظمة ، تتوافق خصائص الكائن مع الحقول. سترى المزيد من المقدمات ذات الصلة في الفصل 12.
2. مجموعة المعلمات
يتم استخدام مجموعة المعلمات فقط من قبل كائن الأوامر ، وتحديد المعلمات في الأمر المخزن. تستخدم الإجراءات المخزنة في قواعد بيانات SQL بشكل متكرر المعلمات والسماح بتمرير البيانات داخل وخارج عبارات SQL المحددة مسبقًا. من المفيد أن يكون لديك معلمات تعيد المعلومات إلى ADO ، لأن بهذه الطريقة ، ليست مجرد مجموعة سجلات تعود من الإجراء المخزن. على سبيل المثال ، بالنظر إلى إجراء تخزين معقد يقوم بتحديث جداول متعددة ثم يقوم بإرجاع مجموعة سجلات ، يمكنك استخدام معلمة الإخراج لإظهار عدد السجلات التي تم تحديثها.
سبب آخر لاستخدام المعلمات هو مشكلات الأداء ، خاصة عندما تحتاج فقط إلى إرجاع قيمة واحدة من إجراء مخزن. في هذه الحالة ، ليست هناك حاجة لإنشاء مجموعة سجلات ، فقط حفظ قيمة ، لذلك ليست هناك حاجة لإرجاع مجموعة السجلات ، وإعادة قيمة معلمة الإخراج هي طريقة أكثر كفاءة.
في الفصل 9 ، سترى مقدمة مفصلة لمجموعة المعلمات.
3. جمع الأخطاء
تحتوي مجموعة الأخطاء على تفاصيل خطأ موفر ADO أو OLE DB الأخير الناجم عن تشغيل الأمر ويمكن الوصول إليه فقط بواسطة كائن الاتصال. قد يعتبر هذا قيدًا لأنه لا توجد حاجة لتحديد كائن الاتصال صراحة ، ولكن يمكن الوصول إلى كائن الاتصال الضمني من خلال خصائص ActivEconnection للأمر ، ومجموعة السجلات ، والتسجيل. على سبيل المثال:
لكل objerror في Rs.ActiveConnection.errors
respons.write objerror.name & <br>
التالي
في وقت لاحق من هذا الفصل ، سيتم مناقشة جمع الأخطاء بالتفصيل.
4. جمع الخصائص
لتجنب الالتباس ، لا يتم عرض مجموعة الخصائص على مخطط نموذج الكائن السابق. تظهر علاقته مع نموذج الكائن في الشكل 8-5:
الشكل 8-5 العلاقة بين الممتلكات والكائن
السبب في وجود مجموعات الخصائص هو أن ADO يستخدم لمعالجة العديد من مخازن البيانات المختلفة ، مع خصائص مختلفة. يمكن أن يؤدي تكوين خصائص (خاصية) إلى مجموعة إلى تمكينها من تغييرها ديناميكيًا في أي وقت وفقًا لمقدمي البيانات المختلفين. على سبيل المثال ، يتيح مزود Jet's Ole DB الوصول إلى خصائص الأمان الخاصة من Jet:
تعيين condb = server.createBject (adodb.connection)
condb.Open DSN = nwind
condb.properties (Jet OLEDB: كلمة مرور قاعدة البيانات) = letmein
لم يكن لدى مقدمي الخدمات الآخرين هذه الخاصية ، لذلك من غير الحكمة إضافتها إلى كائن الاتصال كخاصية ثابتة. يملأ ADO مجموعة السمات مع القيمة الافتراضية للمزود بناءً على مزود OLE DB المستخدم.
على الرغم من وجود تعليمات لاستخدام مجموعة الخصائص هنا ، فإن مجموعة الخصائص غير موصوفة بالتفصيل في هذا الكتاب. لمزيد من المعلومات حول المجموعة ، راجع Professional ADO 2.5 Programming أو ADO 2.5 Programming ، وكلاهما تم نشره بواسطة WROX.
8.2.7 ADO ثابت
عند استخدام ADO ، ستجد أن هناك العديد من الثوابت المحددة مسبقًا للعديد من الخيارات ، مثل الثوابت التي تحدد نوع المؤشر ونوع القفل. باستخدام لغات مثل Visual Basic أو Visual C ، سيتم استخدام هذه الثوابت بشكل طبيعي بمجرد الرجوع إلى مكتبة نوع ADO. في ASP ، هناك خياران.
الطريقة الأولى للرجوع إلى الثوابت هي تضمينها في ملف ASP:
<!-#include file = adovbc.inc->
يمكنك نسخ ملف تضمين إلى دليل محلي ، أو مرجعه من دليل التثبيت ، مع المسار الافتراضي إلى ملفات C:/البرنامج/الملفات الشائعة/النظام/اللغط (يحتوي الملف أعلاه على ثابت ADO لـ VBScript - ل jscript ، adojavas.inc). أحد أوجه القصور في استخدام هذه الطريقة هو أنها ستجعل صفحة ASP كبيرة جدًا لأنها تحتوي على جميع الثوابت ، والتي لا تحتاج إلى استخدام الكثير منها.
يمكنك إنشاء ملفات تحتوي على ثوابت مطلوبة فقط ، ولكن عندما تستخدم أكثر وأكثر وظائف ، قد تجد أنك تحتاج إلى تحرير هذا الملف باستمرار.
الحل الأفضل هو إنشاء إشارة إلى مكتبة النوع. لا تتطلب هذه الطريقة إدراج ثابت في ملف ASP ولكن يمكنه الرجوع مباشرة إلى الثابت:
<!- metadata type = typelib file = c:/program files/
الملفات الشائعة/النظام/ado/msado15.dll ->
لا تشك في أن اسم DLL هذا هو msado15.dll ، وهو الاسم الصحيح ، الذي يحتوي على أحدث إصدار من ADO.
يمكنك تضمين بيان البيانات الوصفية هذا في كل ملف ASP حيث تحتاجه ، أو وضعه في ملف Global.ASA بحيث يمكن لكل صفحة ويب في التطبيق الرجوع إلى هذه الثوابت.
8.3 الاتصال بتخزين البيانات
إذا كنت بحاجة إلى الوصول إلى متجر للبيانات ، فيجب عليك إنشاء اتصال إلى متجر البيانات. كما ذكرنا سابقًا: يمكنك إنشاء كائن اتصال بشكل صريح ، أو السماح لـ ADO بإنشاء اتصال ضمنيًا. لأي طريقة ، يجب أن تعرف تفاصيل تخزين البيانات.
على الرغم من أن التفاصيل الفعلية المستخدمة للاتصالات تختلف ، فإن الطرق الفعلية للاتصالات هي نفسها لجميع أنواع تخزين البيانات. هذا ليس مفاجئًا ، حيث يتطلب مقدمو الخدمات المختلفة أنواعًا مختلفة من المعلومات. قبل السماح للمستخدمين بالوصول إلى متجر البيانات ، يتطلب بعض مقدمي الخدمات شهادة المستخدم ، بينما يقبل البعض الآخر شهادة الأمان الافتراضية.
هناك عدة طرق للاتصال بمصدر البيانات:
· توصيل السلسلة. ضع تفاصيل الاتصال في السلسلة ، أو أضف تفاصيل الاتصال مباشرة إلى الأمر عند فتح متجر البيانات. ميزة هذا النهج هي أنه سيتم الاحتفاظ بتفاصيل الاتصال في صفحة ASP. العيوب هي أنه إذا كان لديك المزيد من الصفحات ، فسيتم احتجازك في أعمال الصيانة الثقيلة عند تغيير تفاصيل الاتصال. يتمثل الحل في إنشاء متغير سلسلة يحتوي على تفاصيل الاتصال ووضعه في ملف ASP. وبهذه الطريقة ، لا يوجد سوى مثيل واحد لسلسلة الاتصال ، ولكن يمكن أن يكون متسقًا مع صفحات ASP الأخرى. هناك تقنية شائعة أخرى تتمثل في تخزين سلاسل الاتصال في التطبيق في متغيرات الحالة ، بحيث يمكن استخدامها بواسطة جميع الصفحات في التطبيق.
ملف ارتباط البيانات. هذا ملف له تفاصيل الاتصال (ملحق .udl). الميزة هي أن ملف ارتباط بيانات واحد فقط مطلوب لأي صفحة ASP بيانات. لإنشاء ملف ارتباط بيانات ، ما عليك سوى إنشاء ملف نصي جديد وقم بإعادة تسميته (للتأكد من أن Windows Explorer يعرض ملحق الملف). بمجرد إعادة تسمية الملف ، يمكنك فتحه (النقر المزدوج) لعرض مربع حوار خصائص ارتباط البيانات.
مشاركة: برنامج ASP لتنقية بيئة الشبكة لتصفية الكلمات القذرة تطهير برنامج بيئة الشبكة ASP ينفذ كلمات تصفية الكلمات اليومية فيما يلي المحتوى المشار إليه: <!-#include file = ../conn/dbconn1.asp-> <!-#include