تعتبر كتلة التعليمات البرمجية الأولى في المثال التالي نموذجية لنوع تطبيق ASP الذي يستخدم ADO لقراءة مجموعة السجلات التي يتم إرجاعها من استعلام SQL واحد ومعالجتها. ويستخدم كائن ADO Recordset لقراءة سجلات البيانات التي تم إرجاعها من نموذج قاعدة بيانات Northwind المتوفرة مع Microsoft Access. سيتم تضمين التعليمات البرمجية في ملف بملحق ملف .asp.
[فيجوال بيسك]
< %@LANGUAGE=VBSCRIPT% >
<!
يستخدم مثال ASP هذا ADO لقراءة السجلات من قاعدة بيانات وطباعة اثنين
الحقول من كافة السجلات التي تم إرجاعها إلى صفحة ASP. يتم الاتصال بقاعدة بيانات Northwind من خلال مصدر بيانات نظام ODBC (DSN.
>
<أتش تي أم أل>
<الجسم>
<%
خافت ADOconn، ADOrs، sqlstr
sqlstr="SELECT * من الموظفين؛"
تعيين ADOconn = Server.CreateObject("ADODB.Connection")
ADOconn.Open "DSN = اختبار"
تعيين ADOrs = ADOconn.execute(sqlstr)
إذا كان ADOrs.BOF و ADOrs.EOF فإن الاستعلام لم يُرجع أي سجلات.
Response.Write("لا توجد سجلات.")
آخر
ADORs.MoveFirst
افعل ذلك أثناء عدم ADOrs.EOF
Response.Write(ADORs("الاسم الأول") & " " _
& ADOrs("اسم العائلة") & "<br>")
ADORs.MoveNext
حلقة
Response.Write("<p>نهاية البيانات.")
نهاية إذا
AOrs.إغلاق
تعيين AOrs = لا شيء
%>
</الجسم>
</html>
يوضح المثال التالي الحد الأدنى من التغييرات المطلوبة لتحويل المثال السابق إلى تطبيق ASP.NET. تعتبر معظم التغييرات ضرورية للتوافق مع بناء جملة Visual Basic الجديد. يمكن إعادة تسمية هذا الملف بملحق ملف .aspx وسيتم تشغيله مع ASP.NET. تظهر أسطر التعليمات البرمجية المعدلة بالخط العريض. لاحظ أنه تمت إضافة التوجيه <%@ Page > مع السمة aspcompat=true في السطر الأول.
[فيجوال بيسك]
< %@Page aspcompat=true Language = VB%>
<!
يستخدم هذا المثال ADO لقراءة السجلات من قاعدة بيانات وطباعة اثنين
الحقول من كافة السجلات في قاعدة البيانات إلى صفحة ASP.NET.
توجد قاعدة البيانات على الخادم ويتم الاتصال من خلال مصدر بيانات نظام ODBC (DSN.
>
<أتش تي أم أل>
<الجسم>
<%
خافت objConn، rs، sqlstr
sqlstr="SELECT * من الموظفين؛"
objConn = Server.CreateObject("ADODB.Connection") ' تمت إزالة المجموعة.
objConn.Open("DSN=TEST") ' تمت إضافة الأقواس.
rs = objConn.execute(sqlstr) 'تمت إزالة بيان المجموعة.
Response.Write("<p>اختبار ADO</p>")
إذا كان rs.BOF وrs.EOF، فإن الاستعلام لم يُرجع أي سجلات.
الاستجابة.الكتابة ("لا توجد سجلات")
آخر
rs.MoveFirst
افعل بينما لا rs.EOF
'"تحديد خاصية القيمة"."
Response.Write(rs("الاسم الأول").القيمة _
& " " & rs("اسم العائلة").القيمة & "<br>")
rs.MoveNext
حلقة
Response.Write("<p>نهاية البيانات")
نهاية إذا
rs. Close
rs = لا شيء ' تمت إزالة بيان المجموعة.
%>
المثال التالي هو تطبيق ASP.NET يستخدم ADO.NET لقراءة السجلات من نفس قاعدة بيانات Northwind مثل المثال السابق. إن المخرجات التي تم إنشاؤها بواسطة هذا الكود تعادل مخرجات المثال السابق، وتم تعديلها لتتوافق مع اتفاقية كتلة التعليمات البرمجية ASP.NET.
يقوم المثال بإنشاء كائن ADO.NET DataSet، والذي يحتوي في هذه الحالة على جدول بيانات يمكن استخدامه بنفس طريقة استخدام مجموعة سجلات ADO. لاحظ أنه يمكن أن تتكون مجموعة البيانات من مجموعة واحدة أو أكثر من DataTables وDataRelations وConstraints التي تشكل قاعدة بيانات مقيمة في الذاكرة، لذا فإن مجموعات بيانات ADO.NET أكثر مرونة من مجموعات سجلات ADO.
لاستخدام ADO.NET، يجب استيراد مساحات الأسماء System.Data وSystem.Data.OleDb. إذا كان مصدر البيانات قاعدة بيانات SQL Server، فقم باستيراد مساحة الاسم System.Data.SqlClient بدلاً من System.Data.OleDb. لمزيد من المعلومات حول استخدام ADO وكائن الاتصال الخاص بموفر بيانات SQL .NET، راجع إدارة الاتصالات.
[فيجوال بيسك]
< %@Import Namespace="System.Data"%>
< %@Import Namespace="System.Data.OleDb"%>
<!
يستخدم هذا المثال ADO.NET لقراءة السجلات من قاعدة بيانات وطباعة اثنين
الحقول من كافة السجلات التي تم إرجاعها إلى صفحة ASP.NET في قاعدة البيانات
يقع على الخادم المحلي.
>
<أتش تي أم أل>
<لغة البرنامج النصي=VB Runat=الخادم>
Sub Page_Load (المرسل ككائن، e كـ EventArgs)
تعتيم MyConnection باسم OleDbConnection
تعتيم MyCommand باسم OleDbDataAdapter
خافت MyDataset كـ DataSet
خافت MyTable كـ DataTable
حلقة خافتة 1، أرقام كعدد صحيح
خافت sqlstr كسلسلة
sqlstr = "حدد * من الموظفين؛"
' إنشاء اتصال بمصدر البيانات.
MyConnection = New OleDbConnection("Provider=SQLOLEDB;" _
& "server=localhost;"الأمان المتكامل=SSPI;" _
& "Initial Catalog=Northwind")
' قم بإنشاء كائن أمر باستخدام عبارة SQL.
MyCommand = New OleDbDataAdapter(sqlstr, MyConnection)
'املأ مجموعة البيانات بالبيانات التي تم إرجاعها من قاعدة البيانات.
MyDataset = مجموعة بيانات جديدة
MyCommand.Fill(MyDataset)
'قم بإنشاء كائن DataTable جديد وقم بتعيينه إليه
'الجدول الجديد في مجموعة الجداول.
MyTable = جدول بيانات جديد
MyTable = MyDataset.Tables(0)
'اكتشف عدد الصفوف الموجودة في مجموعة الصفوف
' لكائن DataTable الجديد.
numrows = MyTable.Rows.Count
إذا كانت الأعداد = 0 إذن
Response.Write("<p>لا توجد سجلات.</p>")
آخر
Response.Write("<p>" & Cstr(numrows) & "تم العثور على السجلات.</p>")
للحلقة 1 = 0 إلى الأعداد - 1
'اطبع قيم العمودين في الأعمدة
"جمع لكل صف.
Response.Write(MyTable.Rows(loop1).Item("الاسم الأول") _
& " " & MyTable.Rows(loop1).Item("اسم العائلة") & "<br>")
الحلقة التالية1
نهاية إذا
Response.Write("<p>نهاية البيانات.</p>")
نهاية الفرعية
</ سكريبت>
</html>
في الحالات التي يقوم فيها استعلام قاعدة بيانات (أو حتى استعلام ربط متعدد الجداول) بإرجاع مجموعة سجلات واحدة، يمكن استخدام DataTable واحد (MyTable في هذا المثال) بنفس طريقة استخدام مجموعة سجلات ADO.
راجع "وثائق NET FRAMEWORK SDK"