วันที่แปดของการเรียนรู้ ASP ในสิบวัน
ผู้เขียน:Eve Cole
เวลาอัปเดต:2009-06-20 17:22:00
จุดประสงค์การเรียนรู้: เรียนรู้การทำงานของฐานข้อมูลขั้นพื้นฐาน 4 (แก้ไขบันทึก)
มาดูโค้ดกันก่อน:
-
ตั้งค่า conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("test.mdb")//นี่ไม่ใช่ฐานข้อมูลก่อนหน้า มีเพียงสองฟิลด์ aa และ bb ในนั้น
exec="select * จากการทดสอบโดยที่ id="&request.querystring("id")
ตั้งค่า rs=server.createobject("adodb.recordset")
rs.open ผู้บริหาร conn
-
<ชื่อฟอร์ม = "form1" method = "โพสต์" action = "modifysave.asp">
<table width="748" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>อ๊า</td>
<td>บีบี</td>
</tr>
<tr>
<td>
<input type="text" name="aa" value="<%=rs("aa")%>">
</td>
<td>
<input type="text" name="bb" value="<%=rs("bb")%>">
<input type="submit" name="Submit" value="Submit">
<input type="hidden" name="id" value="<%=request.querystring("id")%>">
</td>
</tr>
</ตาราง>
</แบบฟอร์ม>
-
฿.ปิด
ตั้งค่า rs=nothing
เชื่อมต่อปิด
ตั้งค่า conn=ไม่มีอะไร
-
ทุกคนควรวิเคราะห์ว่าตอนนี้ไม่มีอะไรผิดปกติกับรหัสนี้ หน้าที่ของรหัสนี้คือการยอมรับ ID ของหน้าก่อนหน้าแล้วแสดงบันทึกนี้กล่องข้อความเป็นทั้งตำแหน่งอินพุตและตำแหน่งที่แสดง หากต้องการแก้ไข ให้กดส่งหลังจากแก้ไข หากคุณสามารถกดปุ่มส่งโดยไม่ทำการเปลี่ยนแปลงใดๆ มีอีกสิ่งหนึ่งที่ไม่เคยมีการกล่าวถึงมาก่อน นั่นคือองค์ประกอบแบบฟอร์มที่ซ่อนอยู่: ผู้ใช้ไม่จำเป็นต้องป้อนค่าภายใน ค่านั้นจะถูกส่งไปพร้อมกับแบบฟอร์มและใช้ในการส่งผ่านตัวแปร . ด้านล่างนี้เป็นโค้ดสำหรับ modifiedsave.asp:
-
ตั้งค่า conn=server.createobject("adodb.connection")
conn.open "driver={ไดรเวอร์การเข้าถึง Microsoft (*.mdb)};dbq="&server.mappath("test.mdb")
exec="select * จากการทดสอบโดยที่ id="&request.form("id")
ตั้งค่า rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,3
rs("aa")=request.form("aa")
rs("bb")=request.form("bb")
อาร์เอสอัปเดต
฿.ปิด
ตั้งค่า rs=nothing
เชื่อมต่อปิด
ตั้งค่า conn=ไม่มีอะไร
-
ที่นี่ พารามิเตอร์ที่ตามหลัง rs.open exec,conn,1,3 คือ 1,3 ดังที่ผมได้กล่าวไว้ก่อนหน้านี้ ต้องใช้ 1,3 เพื่อแก้ไขบันทึก ในความเป็นจริง มันง่ายที่จะเข้าใจเมื่อแก้ไขบันทึก ชุดบันทึกคือ rs("aa") คือสิ่งที่บันทึกในฟิลด์ aa ในปัจจุบัน ทำให้เท่ากับข้อมูลใหม่ request.form("aa") มันจะได้รับการแก้ไข แต่อย่าเปลี่ยนในตอนท้าย ลืมบันทึก นั่นคือ rs.update!
เมื่อพูดถึงการค้นหาบันทึก การอ่าน การแก้ไข และการแทรก ทั้งหมดนี้ล้วนถูกกล่าวถึง เมื่อใช้สิ่งพื้นฐานที่สุดเหล่านี้ คุณจะสามารถสร้างสิ่งที่ซับซ้อนภายนอกได้ เช่น ระบบข่าว สมุดเยี่ยม ฯลฯ เพียงแค่มีฟิลด์เพิ่มเติมอีกสองสามฟิลด์ โค้ดในตัวอย่างวันนี้ถูกรวมเข้ากับฐานข้อมูลก่อนหน้า โปรดย้อนกลับและแก้ไขข้อบกพร่องและวิเคราะห์หลังจากที่คุณดาวน์โหลด ( example72.asp ใน rar ยังคงสำหรับทุกคนในการสืบค้น ID เรคคอร์ด และตรวจสอบเรคคอร์ดที่แก้ไข)