เนื่องจากโปรแกรมที่ยกตัวอย่างการ
Edit และ Delete ข้อมูล
เป็นการทำงานที่สัมพันธ์กัน
จึงขอกล่าวทั้งส่วน Edit และ Delete
ไปพร้อมกันเลย
การแก้ไขข้อมูลเราไม่นิยมเปิดข้อมูลทั้งหมดแล้วเลือกข้อมูลแก้ไข
ถ้ามีข้อมูลเป็นหนึ่งหมื่น เป็น
แสน Record มิต้องหากันวุ่น ทางที่ดี
เราต้องทราบข้อมูลที่ต้องการแก้ไขก่อน
จากนั้นเราก็ทำการสืบค้น
เมื่อพบแล้วก็ดำเนินการแก้ไข
เราจะนำเอา
search.asp มา Modifly นิดหน่อย เป็น search_edit.asp
search_edit.asp
จะทำการสืบค้นข้อมูลและนำข้อมูลมาแสดง
จากนั้นก็นำข้อมูลไปแก้ไขหรือลบ
ดังนั้นเราจะต้องสร้าง FIle ASP
แก้ไขข้อมูล และ File ASP ลบข้อมูล
เพื่อรับข้อมูลจาก search_edit.asp
ไปแก้ไขหรือลบต่อไป
หลักการและเงื่อนไขการ
search_data.asp
- ถ้าไม่มีการกดปุ่ม
Search For Edit
ให้แสดงกรอบสำหรับกรอกข้อมูลเพื่อค้นหา
- เมื่อมีการกรอกข้อมูลและกดปุ่ม
Search ให้แสดงข้อความว่าพบหรือไม่
- ถ้าไม่มีการกรอกข้อมูล
แต่กดปุ่ม Search
ให้แสดงข้อความว่ากรุณากรอกข้อมูลด้วย
- จากเงื่อนไขข้อ 2
ให้แสดงข้อมูลภายในกรอบข้อมูล
พร้อมทั้งมีปุ่ม Edit และ Delete
เพื่อให้ แก้ไข และ ลบข้อมูล
- เมื่อกดปุ่ม Edit
Search_edit.asp จะส่งข้อมูลไปให้ edit_data.asp
แก้ไข
- รายงานผลการแก้ไขข้อมูล
- เมื่อกดปุ่ม Delete
Search_edit.asp จะส่งข้อมูลไปให้ delete_data.asp
แก้ไข
- รายงานผลการลบข้อมูล
ตัวอย่างและคำอธิบายการ
Edit Delete database
search_edit.asp
<% if
request.form("action") = "" then %>
<%' ถ้าไม่พบตัวแปร action
ให้ทำงานด้านล่าง
แสดงกรอบให้กรอกข้อมูล %>
<html>
<body>
<form action="search_edit.asp" method="post">
<CENTER><FONT SIZE=3 FACE="MS Sans Serif"><B>ระบบสืบค้นเพื่อลบและแก้ไขข้อมูล</B></FONT></CENTER>
<CENTER>
<TABLE BORDER="1" CELLPADDING="3" BORDERCOLOR="#C0C0C0"
BGCOLOR="#FCF9D8" style="font-family: MS Sans Serif">
<tr>
<td>Name For Edit: </td>
<td><input type=text name=name size=20></td>
<td><input type=submit name=action value=Search></td>
</tr>
</TABLE>
</CENTER>
</form>
</body>
</html>
<% elseif request.form("name") = "" then%>
<% 'ถ้าไม่พบตัวแปร name
หรือไม่กรอกข้อมูล
ให้แสดงผลด้านล่าง %>
<CENTER><FONT SIZE=3 FACE="MS Sans Serif"><B>กรุณากรอกข้อมูลด้วย
<BR><A HREF=search_edit.asp>กลับไปกรอกข้อมูล</A></FONT></B></CENTER>
<% else%>
<% 'ถ้าพบตัวแปร action และ name
ให้แสดงผลการสืบค้นข้อมูล %>
<HTML>
<BODY>
<%
Set Connection=Server.CreateObject("ADODB.Connection")
Connection.Open "DSN=phonenet"
'กำหนด DSN
ให้ตรงกับค่าที่กำหนดไว้ใน ODBC
SQL="SELECT * FROM phone_book where name like
'%"&Request.Form("name")&"%'"
'คำสั่ง SQL
ให้แสดงข้อมูลทุก field ในตาราง phone_book
'โดย แสดง Record
ที่มีชื่อตรงตามตัวแปร name
'โดยขึ้นลงท้ายด้วยตัวอักษรอะไรก็ได้
Set rs = Connection.Execute (SQL)
if rs.eof then
'ถ้าไม่พบข้อมูลให้
แสดงผลคำว่า ไม่พบข้อมูล
%>
<html>
<body>
<center>
<FONT SIZE=3 FACE="MS Sans Serif"><B>ไม่พบข้อมูล
<BR><a href="search_edit.asp">กลับไปสืบค้นใหม่</a></FONT></B></center>
</body>
</html>
<%
response.end
end if
%>
<center>
<FONT SIZE=3 FACE="MS Sans Serif"><B>แสดงผลการสืบค้นข้อมูล
phone_book</B></FONT>
<P>
<TABLE BORDER="1" CELLPADDING="3" BORDERCOLOR="#C0C0C0"
BGCOLOR="#FCF9D8" style="font-family: MS Sans Serif" width=600>
<TR>
<TH>ID</TH>
<TH>Name</TH>
<TH>Phone</TH>
<TH>Address</TH>
<TH colspan="2"><small>Click For Edit or
Delete</small></TH>
</TR>
<% Do While Not RS.EOF %>
<TR>
<%'แสดงการสืบค้นข้อมูลจาก
filed ต่างๆใน table phone_book%>
<form action=edit_data.asp method=post>
<TD><input type=hidden name=id
value=<%=RS("id")%>><%=RS("id")%></TD>
<TD><input type=text name=name
value=<%=RS("name")%>></TD>
<TD><input type=text name=phone
value=<%=RS("phone")%>></TD>
<TD><input type=text name=address
value=<%=RS("address")%>></TD>
<TD><input type=hidden value=actionedit>
<input type=submit value=Edit></form></TD>
<%'ฝังค่าตัวแปรที่ได้จากการ
search ไว้ใน value เป็นตัวแปรคงที
เพื่อส่งค่าไปให้ edit_data.asp แก้ไข%>
<TD>
<form action=delete_data.asp method=post>
<input type=hidden name=id value=<%=RS("id")%>>
<input type=submit value=Delete></form></TD>
<%'ฝังค่าตัวแปรที่ได้จากการ
search เฉพาะค่า id ไว้ใน value
เพื่อส่งค่าไปให้ delete_data.asp ลบทั้ง
record%>
</TR>
<%
RS.MoveNext
Loop
%>
</TABLE>
<HR WIDTH=50%>
</BODY>
</HTML>
<% end if %>
|
หลักการและเงื่อนไขการ
Edit_data.asp
- เมื่อมีการส่งข้อมูลตัวแปรมาจาก
search_edit.asp ให้นำตัวแปร id
ไปเปรียบเทียบ
- เมื่อมีพบว่ามีข้อมูล
id ตรงให้แก้ไขทั้ง record
ตัวอย่างและคำอธิบายการ
Edit
edit_data.asp
<HTML>
<BODY>
<%
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select * from phone_book where id = "&Request.Form("id"),
"DSN=phonenet", 1, 3
rs("name") = Request.Form("name")
rs("phone") = Request.Form("phone")
rs("address") = Request.Form("address")
rs.Update
'เปิดฐานข้อมูลเพื่อสืบค้นจนพบแล้วแก้ไข
%>
</BODY>
</HTML>
<center>
<FONT SIZE=3 FACE="MS Sans Serif"><B>แก้ไขข้อมูล
เรียบร้อยแล้ว
<br><a href="show_data.asp">
กลับไปที่ดูข้อมูล </a></FONT></B>
</center>
</BODY>
</HTML>
|
หลักการและเงื่อนไขการ
Delete_data.asp
- เมื่อมีการส่งข้อมูลตัวแปรมาจาก
search_edit.asp ให้นำตัวแปร id
ไปเปรียบเทียบ
- เมื่อมีพบว่ามีข้อมูล
id ตรงให้ลบทั้ง record
ตัวอย่างและคำอธิบายการ
Delete
delete_data.asp
<%
Set DatabaseConnection = _
Server.CreateObject ("ADODB.Connection")
DatabaseConnection.Open "phonenet"
delid = Request.Form("id")
'กำหนด Form id = delid
DatabaseConnection.Execute _
"DELETE * FROM phone_book WHERE id="&delid
'ใช้คำสั่ง SQL DELETE
ลบโดยการเปรียบเทียบข้อมูล id
ถ้าพบว่ามีรายการก็ทำการลบ
%>
<html>
<body>
<center>
<FONT SIZE=3 FACE="MS Sans Serif"><B>
ลบข้อมูลเรียบร้อยแล้ว<BR>
<a href="show_data.asp">กลับไปที่ดูความเปลี่ยนแปลงที่
</a>
</a></FONT></B>
</center>
</body>
</html> |
ผลลัพธ์
คงไม่ต้องแสดงผลให้ดู
ลอง test กันเลยดีกว่า

|