مقدمة
تشرح هذه المقالة الجزء الأساسي والأكثر أهمية في برمجة ASP، وهو "استدعاء ملفات قاعدة البيانات"، وتتحدث عن بعض التقنيات لاستدعاء ملفات قاعدة البيانات في برمجة ASP.
مقدمة إلى ASP
ASP (صفحات الخادم النشطة) هي تقنية لتطوير تطبيقات الويب أطلقتها Microsoft في عام 1996. وهي عبارة عن مزيج من لغة البرمجة النصية ومكونات ActiveX ولغة HTML. تصفها Microsoft بأنها "بيئة برمجة نصية للخادم. هنا يمكنك إنشاء و تشغيل تطبيقات خادم الويب الديناميكية والتفاعلية وعالية الأداء." وتتمثل وظيفتها الرئيسية في توفير طريقة أو تقنية قوية لإنشاء تطبيقات خادم الويب الديناميكية والتفاعلية. وتتمثل خصائصه في أنه يتم تفسير وتنفيذ الأوامر والبرامج النصية في الخادم، ومن ثم يكون المحتوى المرسل إلى متصفح العميل مجرد صفحة HTML قياسية. الميزة هي أن تصميم البرنامج بسيط وسهل الفهم، وهو مريح وسريع. تم استخدام ASP على نطاق واسع في الصين، ويستخدم عدد كبير من مواقع الويب الديناميكية تقنية ASP.
على الرغم من أن الأنظمة المختلفة قد تقوم بتثبيت برامج تشغيل قاعدة بيانات مختلفة
للاتصال بملفات قاعدة بيانات ASP
، إلا أن أنظمة الخادم العامة تدعم بشكل أساسي IIS4.0/5.0، وبالتالي فإن نظام الخادم سيحتوي على الأقل على برنامج تشغيل Microsoft Access، وMicrosoft ODBC لـ Oracle، وSQL Server، وما إلى ذلك. . لذلك، يمكن لنظام الخادم استخدام ثلاث قواعد بيانات على الأقل مثل Access وOracle وSQL Server للمشاركة في تصميم قاعدة بيانات صفحة ويب ASP. نظرًا لأن Microsoft Access 97/2000 ينتمي إلى إحدى سلاسل Microsoft Office، والواجهة مشابهة لبرنامج سلسلة Office، فلا يوجد أي عائق أمام التعلم بشكل أساسي، لذلك ستستخدم هذه المقالة ملفات قاعدة بيانات Access لبرمجة ASP من منظور المبتدئين .قم بإنشاء ملف قاعدة بيانات (friend.mdb) كما هو موضح في الشكل 1 من خلال تطبيق Access
الشكل 1
ثم هناك طريقتان لاستدعاء ملف قاعدة البيانات في برمجة ASP. إحداهما هي تعيينه يدويًا مباشرةً على "مصدر البيانات (ODBC)" في "لوحة التحكم"؛ والأخرى هي برمجة قاعدة البيانات واستدعاءها من خلالها مسار نسبي، ويمكن تطبيق هذه الطريقة على أي خادم دون مزيد من التكوين. الطريقة الأولى هي أبسط وأكثر أمانا، ويتحدث هذا المقال عن الطريقة الثانية.
فيما يلي الطرق العامة لقراءة سجلات الجدول في ملفات قاعدة البيانات في برمجة ASP:
01: <HTML><BODY>
02: <!--#include file="adovbs.inc"-->
03:%
04: "استخدم كائن اتصال ASP لفتح قاعدة البيانات. ملف قاعدة البيانات هو <Friend.mdb> في الصورة أعلاه".
05: خافت objConn
06: تعيين objConn=Server.CreateObject("ADODB.Connection")
07: objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;"
08: "مصدر البيانات = "& Server.MapPath("Friend.mdb")
09: objConn.Open
10: قراءة سجلات جدول "البيانات" وتخزينها في كائن مجموعة السجلات
11: خافت objRS
12: تعيين objRS=Server.CreateObject("ADODB.Recordset")
13: ObjRS.Open "data"، objConn،adOpenKeyset،adLockOptimistic،adCmdTable
14: 'عرض السجل المشار إليه بواسطة المؤشر الحالي على المتصفح
15: إذا لم يكن الأمر كذلك EOF
16: الاستجابة. اكتب "الرقم:"&objRS("الرقم")& "<BR>"
17: الرد اكتب "الاسم:"&objRS("الاسم")& "<BR>".
18: الرد اكتب "الجنس:"&objRS("الجنس")& "<BR>".
19: غير ذلك
20: Response.Write "تم الوصول إلى نهاية قاعدة البيانات وتم عرض كافة السجلات المطابقة"
21: نهاية إذا
22: 'أغلق اتصال قاعدة البيانات وحرر مثيل الكائن
23: إغلاق
24: تعيين objRS=لا شيء
25: أوبجكون.إغلاق
26: تعيين objConn=لا شيء
27:%>
28: </BODY></HTML>
الكود أعلاه هو خطوات التصميم لفتح ملفات قاعدة بيانات Access في برمجة ASP.
تلميحات حول استدعاء ملفات قاعدة البيانات
(1) في الواقع، بغض النظر عن قاعدة بيانات Access التي تقوم بالتبديل إليها، فإن خطوات فتح اتصال قاعدة البيانات وقراءة سجلات الجدول هي نفسها لذلك يمكن للبرنامج أعلاه إعادة كتابة الأسطر من 3 إلى 13 على شكل دالات وحفظها في ملف مثل: ADOFunctions.asp. إذا كنت تريد فتح ملف قاعدة بيانات في المستقبل، فقم بتضمين الملف ADOFunctions.asp الكود كالتالي:
<%
خافت objConn
'اسم الملف المتغير هو اسم ملف قاعدة البيانات، واسم الجدول المتغير هو اسم الجدول وظيفة GetRecordset(FileName,TableName)
'استخدم كائن اتصال ASP لفتح قاعدة البيانات Set objConn=Server.CreateObject("ADODB.Connection")
objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"
"مصدر البيانات =" & Server.MapPath("اسم الملف")
objConn.Open
'اقرأ سجلات الجدول وقم بتخزينها في كائن مجموعة السجلات "objRS"
خافت objRS
تعيين objRS=Server.CreateObject("ADODB.Recordset")
ObjRS.Open TableName،objConn،adOpenKeyset،adLockOptimistic،adCmdTable
وظيفة النهاية
%>
كما يمكن رؤيته من التعليمات البرمجية أعلاه، اسم الدالة هو GetRecordSet، وقيمة الإرجاع الخاصة به هي مثيل كائن مجموعة السجلات الذي يخزن سجلات الجدول. اسم الملف هو ADOFunctions.asp. الآن، يمكنك استخدام هذا الملف لقراءة سجلات أي ملف قاعدة بيانات. على سبيل المثال، يمكن تبسيط برمجة قراءة قاعدة البيانات على النحو التالي:
<HTML> <BODY>
<!--#تضمين الملف='adovbs.inc'-->
<!--#include file="ADOFunctions.asp"-->
<%
'استدعاء وظيفة GetRecordset للحصول على مثيل كائن مجموعة السجلات، ثم قم بتعيينه إلى المتغير objRS
خافت objRS
تعيين objRS=GetRecordset("Friend.mdb"،"بيانات")
'اعرض السجل الذي يشير إليه المؤشر الحالي على المتصفح إذا لم يكن objRS.EOF بعد ذلك
الاستجابة.اكتب "الرقم:"&objRS("الرقم")& "<BR>"
الاستجابة.اكتب "الاسم:"&objRS("الاسم")& "<BR>"
الاستجابة.اكتب "الجنس:"&objRS("الجنس")&"<BR>"
آخر
Response.Write "تم الوصول إلى نهاية قاعدة البيانات وتم عرض كافة السجلات المطابقة"
نهاية إذا
'قم بإغلاق اتصال قاعدة البيانات وحرر نسخة الكائن ObjRS Close
تعيين objRS=لا شيء
ObjConn.Close
تعيين objConn=لا شيء
%>
</BODY></HTML>
لذلك، طالما قمت بتغيير اسم قاعدة البيانات واسم الجدول في هذا الكود Set objRS=GetRecordset("Friend.mdb", "data")، يمكنك الاتصال بأي ملف قاعدة بيانات Access بالطبع يجب الانتباه إلى ما هو أكثر من ذلك، يجب أن تتطابق أسماء الحقول لكل جدول في قاعدة البيانات اللاحقة.
(2) بالإضافة إلى ذلك، بغض النظر عن قاعدة بيانات Access التي تقوم بالتبديل إليها، فإن خطوات فتح اتصال قاعدة البيانات وتصفية سجلات الجدول هي نفسها، وتتضمن المتغيرات عبارة SQL (مثل: "SELECT * FROM data")، والاسم من ملف قاعدة البيانات واسم الجدول. لذلك، بنفس الطريقة، يمكنك استخدام هذه المتغيرات الثلاثة كمعلمات للوظيفة، وكتابة الدالة GetSQLRecordset، وحفظها كملف باسم ADOSQLFunctions.asp، إذا كنت تريد استخدامه في المستقبل، فما عليك سوى تضمين هذا الملف في الجزء الأمامي من البرنامج ويمكنك استخدام GetSQLRecordset. تفتح الوظيفة اتصال قاعدة بيانات وتقوم أيضًا بتصفية سجلات الجدول. تقوم القيمة المرجعة لهذه الوظيفة بتخزين مثيل كائن مجموعة السجلات الذي يتوافق مع عبارة SQL.
الكود كالتالي:
<%
خافت objConn
خافت GetSQLRecordset
الدالة GetSQLRecordset(strSQL،اسم الملف،اسم الجدول)
'استخدم كائن اتصال ASP لفتح قاعدة البيانات
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"
"مصدر البيانات =" & Server.MapPath("اسم الملف")
objConn.Open
'اقرأ السجلات التي تطابق عبارة SQL من الجدول وقم بتخزينها في كائن مجموعة السجلات
تعيين GetSQLRecordset=Server.CreateObject("ADODB.Recordset")
GetSQLRecordset.Open_ strSQL،objConn،adOpenKeyset،adLockOptimistic،adCmdText
وظيفة النهاية
%>
اسم الدالة في التعليمات البرمجية أعلاه هو: GetSQLRecordset، واسم الملف هو ADOSQLFunctions.asp.
الآن، يمكنك استخدام هذا الملف للاتصال بأي قاعدة بيانات Access وتصفية سجلات الجدول في نفس الوقت. بأخذ ملف Friend.mdb كمثال، قم بإدراج كافة السجلات في بيانات الجدول، ويكون رمز البرنامج كما يلي:
<HTML> <BODY>
<!--#include file="adovbs.inc"-->
<!--#include file="ADOSQLFunctions.asp"-->
<%
خافت objRS
تعيين objRS=GetSQLRecordset("حدد الرقم والاسم والجنس from_ data"، "Friend.mdb"، "data")
افعل بينما لا objRS.EOF
الاستجابة.اكتب "الرقم:"&objRS("الرقم")&"<BR>"
الاستجابة.اكتب "الاسم:"&objRS("الاسم")&"<BR>"
الاستجابة.اكتب "الجنس:"&objRS("الجنس")&"<BR>"
حلقة
objRS.Close
تعيين objRS=لا شيء
ObjConn.Close
تعيين objConn=لا شيء
%>
</BODY></HTML>
ملخص
في برمجة ASP، غالبًا ما يؤدي الاستخدام الجيد للوظائف إلى جعل كود البرنامج الخاص بنا بسيطًا وواضحًا، كما يسهل الحفاظ على بنية القراءة، وفي الوقت نفسه، يمكن أيضًا تجنب عدد كبير من الأخطاء رموز متكررة ومعقدة. كما هو الحال في الموقف أعلاه، إذا كنت تتصل بقاعدة البيانات فقط، فاستخدم الوضع الأول وقم بتضمين الملف ADORecordset.asp. إذا كنت تريد تصفية سجلات جدول معين في قاعدة البيانات أو استخدام عمليات عبارات SQL الأخرى، فاستخدم الوضع الثاني الحالة، فقط قم بتحميل الملف ADOSQLRecordset.asp.