วันนี้เราจะเขียนโปรแกรมกระดานข้อความพร้อมฟังก์ชั่นการจัดการ จริงๆ แล้วสิ่งที่เรียกว่าฟังก์ชันการจัดการหมายความว่าจะมีช่องสำหรับเลือกอยู่ด้านหน้าแต่ละข้อความ คลิกที่ข้อความที่ต้องการลบ หรือคลิก "ลบข้อความทั้งหมด" เพื่อดำเนินการลบแบบกลุ่มให้เสร็จสิ้น จากตัวอย่างนี้ เราสามารถมีความเข้าใจเบื้องต้นเกี่ยวกับการดำเนินงานพื้นฐานของฐานข้อมูลใน ASP
1. สร้างฐานข้อมูล (ACCESS2000 เวอร์ชั่นภาษาจีน)
ข้อความ myid ขนาด 20 ไบต์ นี่เป็นเพียงสัญญาณคำพูดเท่านั้น
myname ข้อความชนิด 10 ไบต์ นี่คือชื่อของบุคคลที่ฝากข้อความ
ประเภทวันที่/เวลาขณะนี้ เวลาข้อความจะถูกบันทึกไว้ที่นี่
mytitle text type 30 ไบต์ นี่คือชื่อเรื่องของข้อความ
ฉันพูดถึงเนื้อหาข้อความ
ฟิลด์ myid คือกุญแจสำคัญ ซึ่งเป็นสัญญาณเดียวของการลบ
2. โปรแกรมการจัดการ
รหัส Manage.asp
'กำหนดตัวแปรก่อน'
รายการสลัว, conn, cmd
'จำนวนรอบของ i สามารถแก้ไขได้ตามจำนวนข้อความจริง
สำหรับ i=1 ถึง 100
ถ้า request("delit"&i)<>ว่างเปล่าแล้ว
'คำสั่งข้างต้นเป็นส่วนสำคัญ ตรวจสอบว่าข้อความ i-th ถูกเลือกหรือไม่ หากถูกเลือก ให้ดำเนินการลบดังต่อไปนี้
ตั้งค่า conn = Server.CreateObject("ADODB.Connection")
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("guestbook.mdb")&";"
'ฟังก์ชัน mappath ใช้พารามิเตอร์ guestbook.mdb ระบุฐานข้อมูลที่จะเชื่อมต่อ ให้ความสนใจกับปัญหาเส้นทาง
conn.เปิด sConnection
'เชื่อมต่อตารางข้อมูลอีกครั้ง
ตั้งค่า cmd=Server.Createobject("ADODB.Command")
ตั้งค่า cmd.activeconnection=conn
cmd.commandtext="ลบจากแขกโดยที่ myid='"&request("delit"&i)&"'"
'แขกด้านบนคือชื่อตารางของตารางข้อมูล และ myid คือชื่อฟิลด์
cmd.execute
ตั้ง conn = ไม่มีอะไร
ตั้งค่า cmd=ไม่มีอะไร
'ดำเนินการคำสั่ง SQL และปล่อยวัตถุ
สิ้นสุดถ้า
ต่อไป
'ส่งออกแบบฟอร์ม โปรดทราบว่าแอตทริบิวต์การดำเนินการชี้ไปที่ Manage.asp
ตอบกลับเขียน ""
'เชื่อมต่อกับฐานข้อมูล
ตั้งค่า conn=Server.CreateObject("ADODB.Connection")
ตั้งค่า listrs=server.createobject("ADODB.Recordset")
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("guestbook.mdb")&";"
conn.เปิด sConnection
listrs.open "เลือก * จากแขก",conn,2,2
'ตารางแขกของฐานข้อมูลเปิดอยู่ด้านบน'
ผม=1
'ตัวแปร ฉันเริ่มนับ
ในขณะที่ไม่ใช่ listrs.eof
response.write "จาก:"&listrs("myname")&"----"&listrs("mytitle")&"Time:"&listrs("nowtime")&"
"&listrs("ตัวของฉัน")&"
-
ฉัน=ฉัน+1
'สองขั้นตอนข้างต้นเป็นจุดสำคัญ ในขณะที่ส่งออกข้อความแต่ละข้อความ ฟังก์ชันของกล่องนี้คือการส่งคืนค่าที่แตกต่างกันเมื่อเลือกหรือยกเลิกการเลือก
listrs.movenenext
เวน
ตั้งค่า listrs = ไม่มีอะไร
'ปุ่มส่งเอาท์พุตและแฟล็กสิ้นสุดแบบฟอร์ม
response.write
3. การวิเคราะห์โค้ด
รหัสนี้ไม่ใช่เรื่องง่ายที่จะเข้าใจ ดังนั้นให้ฉันอธิบาย:
1. เมื่อโปรแกรมถูกดำเนินการเป็นครั้งแรก หาก request("delit"&i)<>empty จะส่งกลับค่าเท็จเสมอเนื่องจากไม่ได้เลือกช่องทำเครื่องหมาย จากนั้นข้อความทั้งหมดจะถูกส่งออก
2. หลังจากเลือกข้อความที่จะลบแล้ว ให้กดปุ่ม "ลบ" และดำเนินการอีกครั้ง
3. หลังจากลบข้อความที่เลือกทั้งหมดแล้ว ให้ส่งออกกระดานข้อความ