Edit Or DeleteDatabase

     เนื่องจากโปรแกรมที่ยกตัวอย่างการ Edit และ Delete ข้อมูล เป็นการทำงานที่สัมพันธ์กัน จึงขอกล่าวทั้งส่วน Edit และ Delete ไปพร้อมกันเลย

      การแก้ไขข้อมูลเราไม่นิยมเปิดข้อมูลทั้งหมดแล้วเลือกข้อมูลแก้ไข ถ้ามีข้อมูลเป็นหนึ่งหมื่น เป็น แสน Record มิต้องหากันวุ่น ทางที่ดี เราต้องทราบข้อมูลที่ต้องการแก้ไขก่อน จากนั้นเราก็ทำการสืบค้น เมื่อพบแล้วก็ดำเนินการแก้ไข

      เราจะนำเอา search.asp มา Modifly นิดหน่อย  เป็น search_edit.asp search_edit.asp   จะทำการสืบค้นข้อมูลและนำข้อมูลมาแสดง จากนั้นก็นำข้อมูลไปแก้ไขหรือลบ ดังนั้นเราจะต้องสร้าง FIle ASP แก้ไขข้อมูล และ File ASP  ลบข้อมูล เพื่อรับข้อมูลจาก search_edit.asp ไปแก้ไขหรือลบต่อไป

หลักการและเงื่อนไขการ search_data.asp

  1. ถ้าไม่มีการกดปุ่ม Search For Edit ให้แสดงกรอบสำหรับกรอกข้อมูลเพื่อค้นหา
  2. เมื่อมีการกรอกข้อมูลและกดปุ่ม Search ให้แสดงข้อความว่าพบหรือไม่
  3. ถ้าไม่มีการกรอกข้อมูล แต่กดปุ่ม Search ให้แสดงข้อความว่ากรุณากรอกข้อมูลด้วย
  4. จากเงื่อนไขข้อ 2 ให้แสดงข้อมูลภายในกรอบข้อมูล พร้อมทั้งมีปุ่ม Edit และ Delete เพื่อให้ แก้ไข และ ลบข้อมูล
  5. เมื่อกดปุ่ม Edit Search_edit.asp จะส่งข้อมูลไปให้ edit_data.asp แก้ไข
  6. รายงานผลการแก้ไขข้อมูล
  7. เมื่อกดปุ่ม Delete Search_edit.asp จะส่งข้อมูลไปให้ delete_data.asp แก้ไข
  8. รายงานผลการลบข้อมูล

ตัวอย่างและคำอธิบายการ 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

  1. เมื่อมีการส่งข้อมูลตัวแปรมาจาก search_edit.asp ให้นำตัวแปร id ไปเปรียบเทียบ
  2. เมื่อมีพบว่ามีข้อมูล 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

  1. เมื่อมีการส่งข้อมูลตัวแปรมาจาก search_edit.asp ให้นำตัวแปร id ไปเปรียบเทียบ
  2. เมื่อมีพบว่ามีข้อมูล 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 กันเลยดีกว่า

test_buttom.gif (636 bytes)


Copy right Passkorn Roungrong 2000