1. ความรู้พื้นฐานของ ASP
1. ASP เป็นตัวย่อของหน้าเซิร์ฟเวอร์ที่ใช้งานอยู่ซึ่งเป็นสถานที่สคริปต์ที่ตีความ
2. ASP ต้องการให้ระบบปฏิบัติการ Windows ทำงานและต้องติดตั้ง PWS ภายใต้ 9X;
3. แท็กสคริปต์สำหรับ ASP และ JSP คือ <%%> ในขณะที่สำหรับ PHP คุณสามารถตั้งค่าเป็นหลายประเภท
4. สัญลักษณ์ความคิดเห็นของ ASP คือ ';
5. ใช้ส่วนเสริมเพื่อขยายฟังก์ชั่นของ ASP
จาก www.knowsky.com
ตัวอย่าง:
helloWorld_1.asp
<%= สวัสดีโลก%>
ผล:
สวัสดีโลก
helloWorld_2.asp
-
สำหรับ i = 1 ถึง 10
Response.write สวัสดีโลก
ต่อไป
-
ผล:
สวัสดีโลก
สวัสดีโลก
สวัสดีโลก
สวัสดีโลก
สวัสดีโลก
สวัสดีโลก
สวัสดีโลก
สวัสดีโลก
สวัสดีโลก
สวัสดีโลก
หมายเหตุ: ASP เป็นตัวพิมพ์ใหญ่
2. การใช้วัตถุในตัว ASP:
วัตถุในตัว ASP ใด ๆ ด้านล่างสามารถใช้งานได้โดยไม่ต้องประกาศโดยเฉพาะในสคริปต์ ASP
1. ขอ:
คำจำกัดความ: วัตถุนี้สามารถใช้เพื่อเข้าถึงข้อมูลคำขอที่ส่งจากเบราว์เซอร์ไปยังเซิร์ฟเวอร์
ชุด:
คุกกี้: ค่าที่มีคุกกี้เบราว์เซอร์
แบบฟอร์ม: มีค่าในฟิลด์ฟอร์ม HTML
QueryString: ค่าที่มีสตริงแบบสอบถาม
ServerVariables: มีค่าในตัวแปรส่วนหัวและสภาพแวดล้อม
ตัวอย่าง:
request_url.asp
-
'รับอินพุตของผู้ใช้และจัดเก็บตัวแปร
user_id = request.querystring (user_id)
user_name = request.querystring (user_name)
'ตัดสินว่าการป้อนข้อมูลของผู้ใช้ถูกต้องหรือไม่
ถ้า user_id = จากนั้น
Response.write user_id เป็นโมฆะโปรดตรวจสอบ
Response.end
สิ้นสุดถ้า
ถ้า user_name = จากนั้น
Response.write user_name เป็นโมฆะโปรดตรวจสอบ
Response.end
สิ้นสุดถ้า
'ตัวแปรพิมพ์
Response.write user_id & <br>
Response.write user_name
-
ผล:
เมื่อเข้าถึง http://10.1.43.238/course/request_url.asp?user_name=j:
user_id เป็นโมฆะโปรดตรวจสอบ
เมื่อเข้าถึง http://10.1.43.238/course/request_url.asp?user_name=j&user_id=my_id:
my_id
j
การคิด: ตัวแปรส่งผ่าน URL และได้รับจากหน้า ASP อย่างไร?
request_form.htm
<style type = text/css>
-
.input {พื้นหลังสี: #FFFFF; : จอร์เจีย;
A: Link {Color: #1B629C;
A: Hover {Color: #FF6600;
A: เยี่ยมชม {การกำหนดข้อความ: ไม่มี}
-
</style>
<enter>
<form name = course action = request_form.asp method = post>
user_id: <ประเภทอินพุต = ชื่อข้อความ = user_id maxLength = 20 class = input> <br> <br>
user_name: <อินพุตประเภท = ชื่อข้อความ = user_name maxLength = 30 class = input>
</form>
<br> <br>
<a href = JavaScript: document.course.submit ();> ส่ง </a>
</enter>
request_form.asp
-
'รับอินพุตของผู้ใช้และจัดเก็บตัวแปร
user_id = request.form (user_id)
user_name = request.form (user_name)
'ตัดสินว่าการป้อนข้อมูลของผู้ใช้ถูกต้องหรือไม่
ถ้า user_id = จากนั้น
Response.write user_id เป็นโมฆะโปรดตรวจสอบ
Response.end
สิ้นสุดถ้า
ถ้า user_name = จากนั้น
Response.write user_name เป็นโมฆะโปรดตรวจสอบ
Response.end
สิ้นสุดถ้า
'ตัวแปรพิมพ์
Response.write user_id & <br>
Response.write user_name
-
หมายเหตุ: อะไรคือความแตกต่างระหว่างการกระทำของแบบฟอร์ม, request_form.asp และ request_url.asp ในซอร์สโค้ด?
2. การตอบสนอง:
คำจำกัดความ: ใช้เพื่อส่งข้อมูลกลับไปยังเบราว์เซอร์และใช้วัตถุนี้เพื่อส่งเอาต์พุตจากสคริปต์ไปยังเบราว์เซอร์
ชุด:
คุกกี้: เพิ่มคุกกี้ลงในเบราว์เซอร์ของคุณ
วิธี:
สิ้นสุด: สิ้นสุดการประมวลผลสคริปต์
เปลี่ยนเส้นทาง: บูตเบราว์เซอร์ไปยังหน้าใหม่
เขียน: ส่งสตริงไปยังเบราว์เซอร์
คุณสมบัติ:
บัฟเฟอร์: แคช ASP
CacheControl: แคชถูกควบคุมโดยพร็อกซีเซิร์ฟเวอร์
ContentType: ระบุประเภทเนื้อหาของการตอบสนอง
หมดอายุ: เบราว์เซอร์ใช้เวลาสัมพัทธ์ในการควบคุมแคช
ExpiresAbsolute: เบราว์เซอร์ใช้เวลาสัมบูรณ์ในการควบคุมแคช
ตัวอย่าง:
Response_redirect.asp
-
'ไปที่ Google และดู
Response.redirect http://www2.google.com
Response.end
-
Response_cookies.asp
-
'ตั้งและอ่านคุกกี้
Response.cookies (time_now) = ตอนนี้ ()
Response.write request.cookies (time_now)
-
ผล:
เมื่อเข้าถึง http://10.1.43.238/course/response_cookies.asp:
2002-9-1 16:20:40
Response_buffer.asp
<%'response.buffer = true%>
<a href = a> a </a>
<%response.redirect request_form.htm%>
ผล:
①. เมื่อปิดฟังก์ชั่นบัฟเฟอร์ของ IIS ข้อผิดพลาดเกิดขึ้นขณะเข้าถึงหน้านี้
อัน
ตอบข้อผิดพลาดของวัตถุ 'ASP 0156: 80004005'
ส่วนหัวผิด
/course/response_buffer.asp, บรรทัดที่ 3
ส่วนหัว HTTP ถูกเขียนไปยังเบราว์เซอร์ไคลเอนต์ การดัดแปลงส่วนหัว HTTP จะต้องเป็นก่อนที่เนื้อหาหน้าจะถูกเขียน
②. เมื่อฟังก์ชั่นบัฟเฟอร์ของ IIS ถูกปิดและความคิดเห็นในบรรทัดแรกของไฟล์จะถูกลบออกการเปลี่ยนเส้นทางหน้าจะสำเร็จ
③. เมื่อเปิดใช้งานฟังก์ชั่นบัฟเฟอร์ของ IIS การเปลี่ยนเส้นทางหน้าจะสำเร็จโดยไม่คำนึงว่าความคิดเห็นในบรรทัดแรกของไฟล์จะถูกลบออกหรือไม่ก็ตาม
3. เซิร์ฟเวอร์
คำจำกัดความ: ฟังก์ชั่นเอนทิตีที่แตกต่างกันสามารถใช้บนเซิร์ฟเวอร์เช่นการควบคุมเวลาของการดำเนินการสคริปต์ก่อนที่จะมาถึงเวลา ยังสามารถใช้เพื่อสร้างวัตถุอื่น ๆ
วิธี:
createObject: สร้างอินสแตนซ์วัตถุ
HTMLENCODE: แปลงสตริงเพื่อใช้อักขระ HTML พิเศษ
MAPPATH: แปลงเส้นทางเสมือนเป็นพา ธ ทางกายภาพ
urlencode: แปลงสตริงเป็น URL ที่เข้ารหัส
ScriptTimeout: จำนวนวินาทีที่สคริปต์ได้รับอนุญาตให้ทำงานก่อนการเลิกจ้าง
ตัวอย่าง:
server_htmlencode.asp
-
'html เข้ารหัส
Response.write Server.htmlencode (atime_now)
-
ผล:
atime_now
เมื่อดูไฟล์ต้นฉบับจะปรากฏเป็น: atime_now
การคิด: ทำไมมันถึงไม่เป็นผลกระทบเช่น atime_now? มีอะไรผิดปกติกับไฟล์ต้นฉบับ?
server_mappath.asp
-
'mappath
Response.write Server.Mappath (Server_mappath.asp)
-
ผล:
g: /asp_www/test/course/server_mapath.asp
การคิด: จะรับเส้นทางที่แท้จริงไปยังไดเรกทอรีรากของไซต์ได้อย่างไร? จะรับเส้นทางที่แท้จริงไปยังไดเรกทอรีได้อย่างไร?
server_urlencode.asp
-
'URL เข้ารหัส
Response.write Server.urlencode (a/time_now)
-
ผล:
a%5ctime%5fnow
4. แอปพลิเคชัน
คำจำกัดความ: ใช้ในการจัดเก็บและอ่านข้อมูลแอปพลิเคชันที่แชร์โดยผู้ใช้
วิธี:
ล็อค: ป้องกันไม่ให้ผู้ใช้รายอื่นเข้าถึงชุดแอปพลิเคชัน
ปลดล็อค: ช่วยให้ผู้ใช้รายอื่นเข้าถึงชุดแอปพลิเคชัน
เหตุการณ์:
onend: ทริกเกอร์โดยการยกเลิกเซิร์ฟเวอร์เครือข่ายและเปลี่ยนไฟล์ global.asa
OnStart: Triggered โดยแอปพลิเคชันแรกสำหรับหน้าเว็บในแอปพลิเคชัน
ตัวอย่าง:
application_counter.asp
-
'เคาน์เตอร์ง่าย ๆ ที่ทำโดยใช้แอปพลิเคชัน
application.lock
แอปพลิเคชัน (คลิก) = แอปพลิเคชัน (คลิก) +1
application.unlock
Response.write คุณเป็นคนแรกและแอปพลิเคชัน (คลิก) และผู้เยี่ยมชมเว็บไซต์นี้!
Response.write <br> <br> คุณมาจาก & request.serverVariables (remote_addr)
-
ผล:
คุณเป็นผู้เยี่ยมชมเว็บไซต์นี้!
คุณมาจาก 10.1.43.238
การคิด: ฟังก์ชั่นของการล็อคและปลดล็อกในตัวอย่างนี้คืออะไร?
5. การประชุม
คำจำกัดความ: จัดเก็บและอ่านข้อมูลการสนทนาผู้ใช้เฉพาะเช่นการจัดเก็บข้อมูลการเข้าถึงผู้ใช้ไปยังเว็บไซต์และข้อมูลจะหายไปหลังจากเซิร์ฟเวอร์รีสตาร์ท
วิธี:
ละทิ้ง: หลังจากประมวลผลหน้าปัจจุบันให้จบเซสชันผู้ใช้
คุณสมบัติ:
หมดเวลา: ระยะเวลาเซสชันของผู้ใช้ (นาที)
เหตุการณ์:
ONEND: เวลาหมดเวลาเซสชันนอกผู้ใช้ไม่ได้ใช้สำหรับหน้าเว็บเพื่อทริกเกอร์เหตุการณ์อีกต่อไป
OnStart: ทริกเกอร์โดยแอปพลิเคชันแรกของผู้ใช้สำหรับหน้าเว็บ
ตัวอย่าง:
session_counter.asp
-
'เคาน์เตอร์ง่าย ๆ ที่ทำโดยใช้เซสชัน
เซสชัน (คลิก) = เซสชัน (คลิก) +1
Response.write คุณเป็นผู้เยี่ยมชมครั้งแรกของเว็บไซต์นี้และเซสชัน (คลิก) &!
Response.write <br> <br> คุณมาจาก & request.serverVariables (remote_addr)
-
ผล:
คุณเป็นผู้เยี่ยมชมเว็บไซต์นี้!
คุณมาจาก 10.1.43.238
การคิด: เนื่องจากทั้งเซสชันและแอปพลิเคชันสามารถนับได้ความแตกต่างระหว่างพวกเขาคืออะไร? จะเริ่มนับอีกครั้งได้อย่างไรหากคุณต้องการรับมากกว่า 100?
3. ใช้ ASP เพื่อใช้งานฐานข้อมูล:
1. ความแตกต่างระหว่างการเชื่อมต่อผ่าน ODBC หรือ OLE?
ขณะนี้มีสองวิธีในการเชื่อมต่อกับฐานข้อมูล ในอีกด้านหนึ่งการเชื่อมต่อสามารถสร้างขึ้นได้โดยใช้ ODBC ซึ่งเข้ากันได้กับฐานข้อมูลใด ๆ ที่มีไดรฟ์ ODBC (เช่นฐานข้อมูลทั้งหมดในตลาด);
ฉันควรใช้ผู้ให้บริการรายใด ใช้ผู้ให้บริการ OLE DB ดั้งเดิมเมื่อใดก็ตามที่เป็นไปได้เนื่องจากให้การเข้าถึงข้อมูลที่มีประสิทธิภาพมากขึ้น Microsoft ค่อยๆเปลี่ยนมาตรฐาน ODBC ด้วย OLE DB และควรใช้ ODBC โดยไม่มีผู้ให้บริการ OLE DB ดั้งเดิมเท่านั้น
⑴. เชื่อมต่อกับ SQL Server โดยใช้ ODBC:
①. กำหนดค่า ODBC
②. รหัสการเชื่อมต่อ:
conn_odbc.asp
-
SET Conn = Server.CreateObject (ADODB.Connection)
'conn.open dsn = course_dsn; uid = course_user; pwd = course_password; ฐานข้อมูล = หลักสูตร
conn.open course_dsn, course_user, course_password
-
หมายเหตุ: เมื่อกำหนดค่า MYDSN หากมีการระบุฐานข้อมูลเริ่มต้นเป็นหลักสูตรรหัสข้างต้นจะเหมือนกัน หลักฐานคือ Course_user มีสิทธิ์ในการดำเนินงานในฐานข้อมูลนี้)
⑵. เชื่อมต่อกับ SQL Server โดยใช้ OLE:
conn_ole.asp
-
SET Conn = Server.CreateObject (ADODB.Connection)
ผู้ให้บริการ conn.open = sqloledb; แหล่งข้อมูล = 10.1.43.238,2433;
-
2. ฐานข้อมูลการดำเนินการ: การเชื่อมต่อและชุดบันทึก
ใช้การเชื่อมต่อและชุดบันทึกเพื่อใช้งานฐานข้อมูลหรือใช้การเชื่อมต่อเพื่อใช้งานฐานข้อมูลเท่านั้น
ตัวอย่าง:
⑴. ใช้การเชื่อมต่อและชุดบันทึกเพื่อใช้งานฐานข้อมูลร่วมกัน
use_db_1.asp
-
ตั้งค่า conn = server.createObject (adodb.connection) 'สร้างวัตถุที่เชื่อมต่อกับฐานข้อมูล
conn.open course_dsn, course_user, course_password 'ใช้วัตถุนี้เพื่อเชื่อมต่อกับฐานข้อมูล
ตั้งค่า rs = server.createObject (adoDb.RecordSet) 'สร้างวัตถุ RecordSet
rs.open select * จาก user_info, conn, 1,1 'ฐานข้อมูลเปิดโดยใช้วัตถุชุดบันทึก
ถ้า Rs.RecordCount> 0 แล้วถ้ามีบันทึก
Response.write user_iduser_name <br>
สำหรับ i = 1 ถึง Rs.RecordCount 'Loop เพื่ออ่านบันทึกทั้งหมด
Response.write RS (ID) && rs (user_name) & <br>
'ฟิลด์บันทึกเอาท์พุทไปยังเบราว์เซอร์
ตัวชี้ Rs.Movenext ย้ายหนึ่งบรรทัดลง
ถ้า rs.eof ออกจากการปล่อยลูปหากถึงด้านล่างของชุดบันทึกถึง
ต่อไป
สิ้นสุดถ้า
-
ผล:
user_iduser_name
1ahyi
การทดสอบ 3 ครั้ง
⑵. ใช้การเชื่อมต่อเพื่อใช้งานฐานข้อมูลเท่านั้น:
use_db_2.asp
-
ตั้งค่า conn = server.createObject (adodb.connection) 'สร้างวัตถุที่เชื่อมต่อกับฐานข้อมูล
conn.open course_dsn, course_user, course_password 'ใช้วัตถุนี้เพื่อเชื่อมต่อกับฐานข้อมูล
conn.execute ลบจาก user_info
-
ผล:
ข้อมูลทั้งหมดในตาราง user_info ถูกลบ
การคิด: มีความแตกต่างระหว่างสองวิธีหรือไม่? พวกเขาใช้ในโอกาสใดบ้าง?
3. วิธีใช้ธุรกรรมขั้นตอนที่เก็บไว้และมุมมอง
⑴. ใช้ขั้นตอนที่เก็บไว้
①. กำหนดขั้นตอนที่เก็บไว้
สร้างขั้นตอน [output_1]
@sid int output
เช่น
ตั้งค่า @sid = 2
สร้างขั้นตอน [return_1]
(@user_name varchar (40),@รหัสผ่าน varchar (20))
เช่น
ถ้ามีอยู่ (เลือก ID จาก user_info โดยที่ user_name =@user_name และรหัสผ่าน =@รหัสผ่าน)
กลับ 1
อื่น
กลับ 0
สร้างขั้นตอน [user_info_1]
(@user_name varchar (40),@รหัสผ่าน varchar (20))
เช่น
เลือก ID จาก user_info โดยที่ user_name =@user_name และรหัสผ่าน =@รหัสผ่าน
สร้างขั้นตอน [user_info_2]
(@user_name varchar (40),@รหัสผ่าน varchar (20))
เช่น
ตั้งค่า xact_abort บน
เริ่มธุรกรรม
ลบจาก user_info โดยที่ user_name =@user_name และรหัสผ่าน =@รหัสผ่าน
ทำธุรกรรม
ตั้งค่า XACT_ABORT
สร้างขั้นตอน [user_info_3] เป็น
เลือก * จาก user_info
②. เรียกใน ASP
use_proc.asp
<!-#include virtual =/adovbs.inc->
-
SET Conn = Server.CreateObject (ADODB.Connection)
conn.open course_dsn, course_user, course_password
'การโทรขั้นตอนที่จัดเก็บด้วยพารามิเตอร์อินพุตสองตัวและกลับมาชุดเร็กคอร์ดโดยใช้ RecordSet
'สร้างขั้นตอน [user_info_1]
'(@user_name varchar (40),@รหัสผ่าน varchar (20))
'เช่น
'เลือก ID จาก user_info โดยที่ user_name =@user_name และรหัสผ่าน =@รหัสผ่าน
Response.write วิธีการโทรปกติ: <br>
ตั้งค่า rs = server.createObject (adodb.recordset)
sql = user_info_1 '& request.QueryString (user_name) &', '& request.QueryString (รหัสผ่าน) &'
Rs.Open SQL, Conn, 1,1
Response.write RS (ID) & <br>
Rs.close
'ใช้ชุดบันทึกเพื่อเรียกขั้นตอนการจัดเก็บโดยไม่มีพารามิเตอร์อินพุต, return recordSet คุณสามารถใช้ RecordCount และแอตทริบิวต์อื่น ๆ
'สร้างขั้นตอน [user_info_3] เป็น
'เลือก * จาก user_info
Response.write <br> ส่งคืนชุดระเบียนคุณสามารถใช้ RecordCount และคุณสมบัติอื่น ๆ :
sql = exec user_info_3
Rs.Open SQL, Conn, 1,1
สำหรับ i = 1 ถึง Rs.RecordCount
Response.write <br> & rs (user_name)
Rs.Movenext
ต่อไป
Rs.close
ตั้งค่า rs = ไม่มีอะไร
'ใช้คำสั่งเพื่อเรียกขั้นตอนที่เก็บไว้ด้วยพารามิเตอร์เอาต์พุต
'สร้างขั้นตอน [output_1]
'@sid int output
'เช่น
'SET @SID = 2
Response.write <br> <br> การโทรขั้นตอนที่เก็บไว้พร้อมพารามิเตอร์เอาท์พุท: <br>
ตั้งค่า cmd = server.createObject (adodb.command)
cmd.activeConnection = Conn
cmd.CommandText = output_1
cmd.parameters.append cmd.createparameter (@sid, adinteger, adparamoutput)
cmd (@sid) = 10
cmd.execute ()
bbb = cmd (@sid)
Response.write BBB & <br>
ตั้งค่า cmd = ไม่มีอะไร
'ใช้คำสั่งเพื่อเรียกขั้นตอนที่เก็บไว้ด้วยพารามิเตอร์อินพุตสองตัวและค่าส่งคืน
'สร้างขั้นตอน [return_1]
'(@user_name varchar (40))
'เช่น
'ถ้ามีอยู่ (เลือก ID จาก user_info โดยที่ user_name =@user_name)
'return 1
'อื่น
'return 0
Response.write <br> การเรียกขั้นตอนที่เก็บไว้ด้วยพารามิเตอร์อินพุตสองตัวและค่าส่งคืน: <br>
ตั้งค่า cmd = server.createObject (adodb.command)
cmd.activeConnection = Conn
cmd.CommandType = ADCMDSTORDPROC
cmd.CommandText = return_1
cmd.parameters.append cmd.createparameter (@return_value, adinteger, adparamreturnvalue)
cmd.parameters.append cmd.createparameter (@user_name, advarchar, adparaminput, 40)
cmd.parameters.append cmd.createparameter (@รหัสผ่าน, advarchar, adparaminput, 20)
cmd (@user_name) = tuth
cmd (@password) = yyuyu
cmd.execute ()
rrr = cmd (@return_value)
Response.Write RRR
ตั้งค่า cmd = ไม่มีอะไร
conn.close
ตั้งค่า conn = ไม่มีอะไร
-
ผล:
เมื่อเยี่ยมชม http://10.1.43.238/course/use_proc.asp?user_name=AHYI&PASSWORD=TT ต่อไปนี้จะปรากฏขึ้น
วิธีการโทรปกติ:
12
กลับไปที่ชุดระเบียนคุณสามารถใช้ RecordCount และคุณสมบัติอื่น ๆ :
อ่า
เต่า
ทูท
ขั้นตอนการโทรที่จัดเก็บด้วยพารามิเตอร์เอาต์พุต:
2
เรียกขั้นตอนที่เก็บไว้ด้วยพารามิเตอร์อินพุตสองตัวและค่าส่งคืน:
1
หมายเหตุ: หากไม่มีพารามิเตอร์ในโพรซีเดอร์ที่เก็บไว้คำสั่ง SQL ที่เรียกว่าเป็นชื่อขั้นตอนที่เก็บไว้โดยตรงและพารามิเตอร์หนึ่งพารามิเตอร์คือพารามิเตอร์ชื่อขั้นตอนที่เก็บไว้ . พารามิเตอร์ n; .
⑵. ใช้การประมวลผลธุรกรรม
①. การสนับสนุนการทำธุรกรรมแบบฝัง ASP
ตัวอย่าง:
use_transaction_1.asp
-
'การใช้ธุรกรรมใน ASP
SET Conn = Server.CreateObject (ADODB.Connection)
conn.open course_dsn, course_user, course_password
conn.begintrans'Start การทำธุรกรรม
sql = ลบจาก user_info
ตั้งค่า rs = server.createObject (adodb.recordset)
Rs.Open SQL, Conn, 3,3
ถ้า conn.errors.count> 0 แล้วจะเป็นข้อผิดพลาด
การย้อนกลับของ Conn.RollBackTrans
ตั้งค่า rs = ไม่มีอะไร
conn.close
ตั้งค่า conn = ไม่มีอะไร
Response.Write การทำธุรกรรมล้มเหลวและย้อนกลับไปยังสถานะก่อนการแก้ไข!
Response.end
อื่น
Conn.CommitTrans 'การทำธุรกรรม
ตั้งค่า rs = ไม่มีอะไร
conn.close
ตั้งค่า conn = ไม่มีอะไร
Response.write การทำธุรกรรมประสบความสำเร็จ!
Response.end
สิ้นสุดถ้า
-
②. ธุรกรรมระดับฐานข้อมูล
ฉัน. สร้างขั้นตอนที่เก็บไว้
สร้างขั้นตอน [user_info_2]
(@user_name varchar (40),@รหัสผ่าน varchar (20))
เช่น
ตั้งค่า xact_abort บน
เริ่มธุรกรรม
ลบจาก user_info โดยที่ user_name =@user_name และรหัสผ่าน =@รหัสผ่าน
ทำธุรกรรม
ตั้งค่า XACT_ABORT
ii. เรียกใน ASP
use_transaction_2.asp
-
SET Conn = Server.CreateObject (ADODB.Connection)
conn.open course_dsn, course_user, course_password
sql = user_info_2 '& request.QueryString (user_name) &', '& request.QueryString (รหัสผ่าน) &'
ตั้งค่า rs = server.createObject (adodb.recordset)
Rs.Open SQL, Conn, 1,1
ตั้งค่า rs = ไม่มีอะไร
conn.close
ตั้งค่า conn = ไม่มีอะไร
-
การอภิปราย: ข้อดีและข้อเสียของทั้งสองวิธี?
⑶. ใช้มุมมอง
หลังจากกำหนดมุมมองในฐานข้อมูลให้ใช้มุมมองใน ASP ราวกับว่าใช้ตาราง
4. ตัวอย่างของการเพจฐานข้อมูล
db_page.asp
-
เมื่อเกิดข้อผิดพลาดต่อไป
ตั้งค่า conn = server.createObject (adodb.connection) 'สร้างวัตถุที่เชื่อมต่อกับฐานข้อมูล
conn.open course_dsn, course_user, course_password 'ใช้วัตถุนี้เพื่อเชื่อมต่อกับฐานข้อมูล
ตั้งค่า rs = server.createObject (adodb.recordset)
sql = เลือก * จากคำสั่ง user_info โดย id desc
Rs.Open SQL, Conn, 1,1
ถ้า Rs.RecordCount> 0 แล้วถ้ามีบันทึก
Rs.Pagesize = 2'a สูงสุด 2 ระเบียนจะปรากฏขึ้นต่อหน้า
'รับหน้าเพื่อแสดงจาก URL
หน้า = cint (คำขอ (หน้า))
'การจัดการข้อยกเว้นพารามิเตอร์หน้า
ถ้าหน้า = แล้วหน้า = 1
ถ้าหน้า <1 แล้วหน้า = 1
ถ้าหน้า> = rs.pagecount แล้ว page = rs.pagecount
rs.absolutePage = หน้า 'หน้าปัจจุบันคือหน้าเว็บที่ระบุโดยพารามิเตอร์หน้า
สำหรับ i = 1 ถึง rs.ize'cycle บันทึกในหน้าปัจจุบันตามขนาดของพารามิเตอร์หน้าหน้าเว็บ
Response.write user_id: & rs (id) & <br>
Response.write user_name: & rs (user_name) & <br> <br>
ตัวชี้บันทึก Rs.Movenext ของ
ถ้า rs.eof ออกจากการปล่อยลูปหากถึงด้านล่างของชุดบันทึกถึง
ต่อไป
สิ้นสุดถ้า
'ปุ่มเปิดหน้าแสดง
ถ้าหน้า> 1 แล้ว
Response.write <a href = & request.serverVariables (document_name) &? หน้า = 1> หน้า 1 </a>
response.write <a href = & request.serverVariables (document_name) &? page = (หน้า 1) &> หน้าก่อนหน้า </a>
สิ้นสุดถ้า
ถ้าหน้า <> rs.pagecount แล้ว
Response.write <a href = & request.serverVariables (document_name) &? page = (หน้า+1) &> หน้าถัดไป </a>
Response.write <a href = & request.serverVariables (document_name) &? page = & rs.pagecount &> หน้าสุดท้าย </a>
สิ้นสุดถ้า
response.write หมายเลขหน้า: &//& rs.pagecount
'ปิดวัตถุและปล่อยหน่วยความจำ
Rs.close
ตั้งค่า rs = ไม่มีอะไร
conn.close
ตั้งค่า conn = ไม่มีอะไร
-
การคิด: คุณลักษณะเพิ่มเติมใด ๆ ที่ใช้ในระหว่างกระบวนการเพจ