บล็อกโค้ดแรกในตัวอย่างต่อไปนี้เป็นเรื่องปกติของแอปพลิเคชัน ASP ชนิดหนึ่งที่ใช้ ADO เพื่ออ่านและจัดการชุดระเบียนที่ส่งคืนจากแบบสอบถาม SQL เดียว ใช้วัตถุ ADO Recordset เพื่ออ่านบันทึกข้อมูลที่ส่งคืนจากฐานข้อมูลตัวอย่าง Northwind ที่มาพร้อมกับ Microsoft Access โค้ดจะอยู่ในไฟล์ที่มีนามสกุล .asp
[วิชวลพื้นฐาน]
< %@LANGUAGE=VBSCRIPT% >
-
ตัวอย่าง ASP นี้ใช้ ADO เพื่ออ่านบันทึกจากฐานข้อมูลและพิมพ์สองรายการ
เขตข้อมูลจากบันทึกที่ส่งคืนทั้งหมดไปยังเพจ ASP การเชื่อมต่อกับฐานข้อมูล Northwind จะทำผ่านแหล่งข้อมูลระบบ ODBC (DSN.
-
<html>
<ร่างกาย>
-
ADOconn สลัว ADOrs sqlstr
sqlstr="เลือก * จากพนักงาน;"
ตั้ง ADOconn = Server.CreateObject("ADODB.Connection")
ADOconn เปิด "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>สิ้นสุดข้อมูล")
สิ้นสุดถ้า
ADOrs.ปิด
ตั้งค่า ADOrs = ไม่มีเลย
-
</ร่างกาย>
</html>
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการเปลี่ยนแปลงขั้นต่ำที่จำเป็นในการแปลงตัวอย่างก่อนหน้านี้เป็นแอปพลิเคชัน ASP.NET การเปลี่ยนแปลงส่วนใหญ่จำเป็นเพื่อให้สอดคล้องกับไวยากรณ์ของ Visual Basic ใหม่ ไฟล์นี้สามารถเปลี่ยนชื่อได้ด้วยนามสกุลไฟล์ .aspx และจะทำงานด้วย ASP.NET บรรทัดโค้ดที่แก้ไขจะแสดงเป็นตัวหนา โปรดสังเกตว่ามีการเพิ่มคำสั่ง <%@ Page > พร้อมด้วยแอตทริบิวต์ aspcompat=true ในบรรทัดแรก
[วิชวลพื้นฐาน]
< %@Page aspcompat=ภาษาจริง = VB%>
-
ตัวอย่างนี้ใช้ ADO เพื่ออ่านบันทึกจากฐานข้อมูลและพิมพ์สองรายการ
จากบันทึกทั้งหมดในฐานข้อมูลไปยังเพจ ASP.NET
ฐานข้อมูลตั้งอยู่บนเซิร์ฟเวอร์และการเชื่อมต่อผ่านแหล่งข้อมูลระบบ ODBC (DSN.
-
<html>
<ร่างกาย>
-
objConn, rs, sqlstr สลัว
sqlstr="เลือก * จากพนักงาน;"
objConn = Server.CreateObject("ADODB.Connection") ' ชุดถูกลบออก
objConn.Open("DSN=TEST") ' เพิ่มวงเล็บแล้ว
rs = objConn.execute(sqlstr) ' ลบคำสั่ง Set ออกแล้ว
Response.Write("<p>ADO Test</p>")
ถ้า rs.BOF และ rs.EOF ดังนั้น ' Query ไม่ได้ส่งคืนบันทึกใดๆ
Response.Write("ไม่มีบันทึก")
อื่น
rs.MoveFirst
ทำในขณะที่ไม่ใช่ rs.EOF
'ระบุคุณสมบัติค่า
Response.Write(rs("FirstName").ค่า _
& " " & rs("นามสกุล").ค่า & "<br>")
rs.MoveNext
วนซ้ำ
Response.Write("<p>สิ้นสุดข้อมูล")
สิ้นสุดถ้า
฿.ปิด
rs = ไม่มีอะไร ' คำสั่ง Set ถูกลบออก
-
ตัวอย่างถัดไปคือแอปพลิเคชัน 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 ดูการจัดการการเชื่อมต่อ
[วิชวลพื้นฐาน]
< %@นำเข้า เนมสเปซ = "System.Data"%>
< %@นำเข้า เนมสเปซ = "System.Data.OleDb"%>
-
ตัวอย่างนี้ใช้ ADO.NET เพื่ออ่านบันทึกจากฐานข้อมูลและพิมพ์สองรายการ
เขตข้อมูลจากระเบียนที่ส่งคืนทั้งหมดไปยังเพจ ASP.NET
ตั้งอยู่บนเซิร์ฟเวอร์ภายในเครื่อง
-
<html>
<ภาษาสคริปต์=VB Runat=เซิร์ฟเวอร์>
Sub Page_Load (ผู้ส่งเป็นวัตถุ e As EventArgs)
หรี่ MyConnection เป็น OleDbConnection
หรี่ MyCommand เป็น OleDbDataAdapter
หรี่ MyDataset As DataSet
หรี่ MyTable เป็น DataTable
dim loop1, numrows เป็นจำนวนเต็ม
สลัว sqlstr As String
sqlstr = "เลือก * จากพนักงาน;"
' สร้างการเชื่อมต่อกับแหล่งข้อมูล
MyConnection = OleDbConnection ใหม่ ("ผู้ให้บริการ = SQLOLEDB;" _
& "เซิร์ฟเวอร์=localhost;"ความปลอดภัยแบบรวม=SSPI;" _
& "Initial Catalog=Northwind")
' สร้างอ็อบเจ็กต์ Command ด้วยคำสั่ง SQL
MyCommand = New OleDbDataAdapter(sqlstr, MyConnection)
' เติมชุดข้อมูลด้วยข้อมูลที่ส่งคืนจากฐานข้อมูล
MyDataset = ชุดข้อมูลใหม่
MyCommand.Fill (ชุดข้อมูลของฉัน)
' สร้างวัตถุ DataTable ใหม่และกำหนดให้กับมัน
' ตารางใหม่ในคอลเลกชัน Tables
MyTable = ตารางข้อมูลใหม่
MyTable = MyDataset.Tables(0)
' ค้นหาจำนวนแถวในคอลเลกชันแถว
' ของวัตถุ DataTable ใหม่
numrows = MyTable.Rows.Count
ถ้า numrows = 0 แล้ว
Response.Write("<p>ไม่มีบันทึก</p>")
อื่น
Response.Write("<p>" & Cstr(numrows) & " พบระเบียน</p>")
สำหรับ loop1 = 0 ถึง numrows - 1
' พิมพ์ค่าของทั้งสองคอลัมน์ในคอลัมน์
' คอลเลกชันสำหรับแต่ละแถว
Response.Write(MyTable.Rows(loop1).Item("FirstName") _
& " " & MyTable.Rows(loop1).Item("นามสกุล") & "<br>")
วงต่อไป1
สิ้นสุดถ้า
Response.Write("<p>สิ้นสุดข้อมูล</p>")
จบหมวดย่อย
</สคริปต์>
</html>
ในสถานการณ์ที่แบบสอบถามฐานข้อมูล (หรือแม้แต่แบบสอบถามรวมหลายตาราง) ส่งกลับชุดระเบียนเดียว DataTable เดียว (MyTable ในตัวอย่างนี้) สามารถใช้ได้ในลักษณะเดียวกับชุดระเบียน ADO
อ้างถึง "เอกสาร NET FRAMEWORK SDK"