![]() | บริหารกระดานข่าวสมัครงาน | ![]() |
|
| ข้อควรทราบ |
|
| ส่วน html สำหรับ สั่ง asp ให้ทำงาน |
|
ฟอร์มนี้จะมีหน้าที่ 3 อย่างกับแฟ้ม /db/applnews.mdb ทีเดียว 1. รับค่า แล้วนำไปเพิ่มระเบียน อย่างง่าย ๆ 2. รับค่า แล้วนำไปเลือกระเบียนที่ต้องการลบ แล้วก็ลบ 3. อ่านข้อมูลทั้งหมดมาแสดง อย่างง่าย ๆ |
| ตัวอย่างฟอร์ม eapplupd.htm | Source code ของ eapplupd.htm |
|
เพิ่มข่าวรับสมัครใหม่ ลบข้อมูลสมาชิก ข้อมูลข่าวแบบ desc เปิดฟอร์ม ในหน้าต่างใหม่ |
<html><title>Update news</title> <body bgcolor=#ffffdd><font face="microsoft sans serif"> เพิ่มข่าวรับสมัครใหม่<br> <form action=http://thaiall.thailandhosting.net/asp/eappladd.asp method=post> <table width=100%> <tr><td><font face="microsoft sans serif"> วันที่หมดเขตรับสมัคร(mm/dd/yy)พ.ศ.</td> <td><input type="text" name=dateout size=10 value="12/31/01"></td><tr> <tr><td><font face="microsoft sans serif">ชื่อองค์กร</td> <td><input type="text" name=organ size=50></td><tr> <tr><td><font face="microsoft sans serif">ตำแหน่ง</td> <td><input type="text" name=posit size=50></td><tr> <tr><td><font face="microsoft sans serif">วุฒิที่ต้องการ</td> <td><input type="text" name=edu size=50></td><tr> <tr><td><font face="microsoft sans serif">คุณสมบัติผู้สมัคร</td> <td><textarea rows=3 cols=40 name=capa></textarea></td><tr> <tr><td><font face="microsoft sans serif">ที่อยู่องค์กร</td> <td><input type="text" name=addr size=50></td><tr> <tr><td><font face="microsoft sans serif">ช่วงเงินเดือน</td> <td><input type="text" name=sala size=50></td><tr> <tr><td><font face="microsoft sans serif">E-Mail ผู้แจ้ง</td> <td><input type="text" name=email size=50></td><tr> <tr><td><font face="microsoft sans serif">ได้ข่าวนี้จาก</td> <td><input type="text" name=getfrom size=50></td><tr> <tr><td></td> <td><input type=submit value="Add news"><input type=reset value=Reset></td><tr> </table> </form> <hr> ลบข้อมูลสมาชิก<br> <form action=http://thaiall.thailandhosting.net/asp/eappldel.asp method=post> รหัสข่าวรับสมัครที่ต้องการลบ : <input type="text" name=delid size="2"0><br> <input type=submit value="Delete member"><input type=reset value=Reset> </form> <hr> <a href=eappllst.asp target=_blank>ข้อมูลข่าวแบบ desc</a><br> </body></html> |
| เพิ่ม ระเบียนในแฟ้ม mdb |
|
โปรแกรมเพิ่มระเบียนจะต้องระบุว่า จะนำค่าใดเพิ่มในเขตข้อมูลใด ในโปรแกรมนี้จะใช้คำสั่ง insert ซึ่งแตกต่างจากที่ผมเคยใช้ตามปกติใน webhostme เพราะปกติคำสั่ง insert ผมจะใช้ select สั่งค่าลงไปในเขตข้อมูลที่ต้องการ แต่วิธีนี้ใช้ values โดยจัดเขตข้อมูลไว้ก่อน แล้วกำหนดเฉพาะค่าที่จะเข้าไป ต่างหาก ซึ่งแบบนี้ใช้เนื้อที่ในการเขียนน้อยกว่า แต่ผิดพลาดได้ง่ายกว่า เหตุที่ผมใช้แตกต่างไปจากปกติ เพราะที่ thaiall.thailandhosting.net/asp/ จะไม่แจ้งให้ทราบว่า asp ผิดอย่างไร ถ้ามีข้อผิดพลาด ทั้งที่โปรแกรมผมถูกแล้ว เพียงแต่ส่งค่าวันที่เข้าไปผิดรูปแบบ โปรแกรมกลับแจ้งผล ว่าผิดพลาด แต่ไม่บอกว่าอะไร ผมจึงต้องนั่งแก้โปรแกรมไปเรื่อย ๆ เปลี่ยนไปเปลี่ยนมา จนได้ตามรูปแบบนี้ .. แบบอื่นก็ใช้ได้ครับ .. เพราะเป็นภาษาที่ยืดหยุ่น |
| Source code ของ /eappladd.asp |
<%
set connNews = server.createobject("ADODB.Connection")
' connNews.Open "DBQ=" & Server.Mappath("\thaiall\db\applnews.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
connNews.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("applnews.mdb"))
sql = "INSERT into applnews ( dateout, organ, posit, datein, edu, capa, addr, sala, getfrom, email) VALUES ( "
sql = sql & " #" & request.form("dateout") & "#, "
sql = sql & " '" & request.form("organ") & "', "
sql = sql & " '" & request.form("posit") & "', "
sql = sql & " #" & now() & "#, "
sql = sql & " '" & request.form("edu") & "', "
sql = sql & " '" & request.form("capa") & "', "
sql = sql & " '" & request.form("addr") & "', "
sql = sql & " '" & request.form("sala") & "', "
sql = sql & " '" & request.form("getfrom") & "', "
sql = sql & " '" & request.form("email") & "'); "
set prorun = connNews.Execute(sql)
connNews.close
set connNews = nothing
%>
<body>
<b>Add news</b><hr>
<a href=eappllst.asp>Display</a>
<br>Back to [<a href=eapplupd.htm>Update news</a>]
</body>
Click here to open this source code in new windows
|
| ลบ ระเบียนในแฟ้ม mdb |
|
การลบข้อมูล จะเป็นโปรแกรมที่สั้น แต่ได้ใจความ เพื่อใช้ sql delete เลือกลบ เมื่อสั่งประมวลผล ก็เสร็จงานทันที เข้าใจง่ายดีครับ ง่ายกว่า เพิ่ม แก้ไข หรือแสดง ซะอีก |
| Source code ของ /eappldel.asp |
<%
Set objConn = Server.CreateObject("ADODB.Connection")
Set rec = Server.CreateObject("ADODB.Recordset")
' objConn.Open "DBQ=" & Server.Mappath("\thaiall\db\applnews.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
objConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("applnews.mdb"))
strSQL = "DELETE * FROM applnews WHERE (applnews.id= " & request.form("delid") & ");"
set prorun = objConn.Execute(strSQL)
objConn.close
%>
<body>
<b>Delete news</b><hr>
<a href=eappllst.asp>Display</a>
<br>Back to [<a href=eapplupd.htm>Update news</a>]
</body>
Click here to open this source code in new windows
|
| แสดง ระเบียนในแฟ้ม mdb |
|
ที่ thaiall.thailandhosting.net/asp/ ผมเขียนโปรแกรมนี้เสร็จเป็นโปรแกรมแรก โดยเข้าไปดูข้อกำหนดที่เว็บนี้ เขียนไว้ให้ดูว่า จะอ้างถึงแฟ้ม mdb ได้อย่างไร ซึ่งก็ไม่ต่างจากที่ webhostme มากมายนัก และโปรแกรมนี้ทำการจัดเรียงตามรหัสแบบ มากไปน้อย เพราะคำว่า desc เป็นคำสงวน เพื่อสั่งให้จัดเรียงซึ่งย่อมาจาก descending ตรงข้ามกับ ascending นั่นเอง และจำได้เลยว่าครั้งหนึ่ง เคยพยายามใช้ desc เป็นชื่อ field หาอยู่ครึ่งวัน กว่าจะนึกออกว่าเป็น คำสงวน ห้ามใช้ |
|
Source code ของ eappllst.asp
http://thaiall.thailandhosting.net/asp/eappllst.asp |
<%
Set objConn = Server.CreateObject("ADODB.Connection")
Set rec = Server.CreateObject("ADODB.Recordset")
' objConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & "DBQ=" & Server.Mappath("\thaiall\db\applnews.mdb")
objConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("applnews.mdb"))
strSQL = "select * from applnews order by applnews.id DESC;"
rec.Open strSQL, objConn , 2, 3
%>
<html><head><title>ข่าวรับสมัคร thaiall.com</title></head>
<body bgcolor="#ffffdd"><font face="microsoft sans serif">
ข่าวรับสมัคร (<a href=http://www.thaiall.com target=_blank>thaiall.com</a>)
<ul>
<%
i = 1
if Not rec.eof then rec.MoveFirst
do while Not rec.eof and i <= 10
response.write( "<b>รหัสข่าว</b> : " & rec("id") &"<br>")
response.write( "<b>ตำแหน่ง</b> : " & rec("posit") &"<br>")
response.write( "<b>ชื่อองค์กร</b> : " & rec("organ") &"<br>")
response.write( "<b>การศึกษา</b> : " & rec("edu") &"<br>")
response.write( "<b>คุณสมบัติผู้สมัคร</b> : " & rec("capa") &"<br>")
response.write( "<b>ช่วงเงินเดือน</b> : " & rec("sala") &"<br>")
response.write( "<b>ที่อยู่องค์กร</b> : " & rec("addr") &"<br>")
response.write( "<b>E-Mail ที่ใช้ติดต่อ</b> : " & rec("email") &"<br>")
response.write( "<b>วันหมดเขตรับสมัคร</b> : " & rec("dateout") &"<br>")
response.write( "<b>วันแจ้งข่าว</b> : " & rec("datein") &"<br>")
response.write( "<b>แหล่งข่าว</b> : " & rec("getfrom") &"<hr>")
rec.MoveNext
i = i + 1
loop
%>
</ul>
</body></html>
Click here to open this source code in new windows
|
| แบบฝึกหัด |
|