การเพิ่มข้อมูล access แบบ ADO + SQL | ||
ข้อควรทราบ |
สรุปแฟ้มที่ใช้ในบทเรียนนี้ ในกรณีที่ท่านงง และไม่แน่ใจ กับหน้าที่ของแต่ละแฟ้ม
|
การเขียนตาราง ASCII แบบที่ 1 ด้วยวิธี ADO |
หัวข้อนี้จะใช้แฟ้มที่เกี่ยวข้อง 3 แฟ้มคือ /cgi-bin/member01.mdb และ /aspmema1.htm และ /aspmema1.asp 1. /aspmema1.htm เป็นฟอร์มสำหรับรับค่า แล้วส่งค่าให้ /aspmema1.asp 2. /aspmema1.asp จะทำหน้าที่เพิ่มระเบียนใหม่เข้าแฟ้ม /cgi-bin/member01.mdb ครั้งละ 1 ระเบียน 3. หลักการที่ใช้เพิ่มระเบียนคือ ADO และแฟ้มทั้งหมดที่ทดสอบ ผมเก็บที่ thaiall.webhostme.com แต่คำอธิบายบทเรียนเก็บที่ www.thaiall.com/asp/ |
ตัวอย่างฟอร์ม /aspmema1.htm ส่งค่า |
Add new member 1(aspmema1.asp) ado Click เรียกเฉพาะ form นี้ในหน้าต่างใหม่ |
Source code ของฟอร์ม /aspmema1.htm |
<body><font face="microsoft sans serif"> Add new member 1(aspmema1.asp) ado<br> <form action=http://thaiall.webhostme.com/aspmema1.asp method=post> ชื่อสมาชิก : <input type="text" name=name size=40><br> E-Mail : <input type="text" name=email size=40><br> ชื่อเว็บ : <input type="text" name=webname size=40><br> Webpage : <input type="text" name=address size=40 value="http://"><br> คำอธิบายเว็บ : <br><textarea rows=3 cols=40 name=describ></textarea><br> <input type=submit value="Add member"><input type=reset value=Reset> </form> </body> Click เรียกเฉพาะ form นี้ในหน้าต่างใหม่ |
Source code ของโปรแกรมเพิ่มระเบียน /aspmema1.asp |
<% thaialldbaccess97="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/cgi-bin/member01.mdb") set conn=server.createobject("ADODB.Connection") conn.open thaialldbaccess97 set rec = server.createobject("ADODB.Recordset") sql = "select * from member" rec.open sql, conn , 2, 2 rec.addnew rec("name")=request.form("name") rec("email")=request.form("email") rec("webname")=request.form("webname") rec("address")=request.form("address") rec("describ")=request.form("describ") rec.update rec.close conn.close set conn = nothing set rec = nothing %> <body> Add ok </body> ดูเฉพาะ Source code เท่านั้น |
การเขียนตาราง ASCII แบบที่ 2 ด้วยวิธี SQL |
หัวข้อนี้จะใช้แฟ้มที่เกี่ยวข้อง 3 แฟ้มคือ /cgi-bin/member01.mdb และ /aspmema2.htm และ /aspmema2.asp 1. /aspmema2.htm เป็นฟอร์มสำหรับรับค่า แล้วส่งค่าให้ /aspmema2.asp 2. /aspmema2.asp จะทำหน้าที่เพิ่มระเบียนใหม่เข้าแฟ้ม /cgi-bin/member02.mdb ครั้งละ 1 ระเบียน 3. หลักการที่ใช้เพิ่มระเบียนคือ SQL และแฟ้มทั้งหมดที่ทดสอบ ผมเก็บที่ thaiall.webhostme.com แต่คำอธิบายบทเรียนเก็บที่ www.thaiall.com/asp/ |
ตัวอย่างฟอร์ม /aspmema2.htm ส่งค่า |
Add new member 2 (aspmema2.asp) sql Click เรียกเฉพาะ form นี้ในหน้าต่างใหม่ |
Source code ของฟอร์ม /aspmema2.htm |
<body><font face="microsoft sans serif"> Add new member 2 (aspmema2.asp) sql<br> <form action=http://thaiall.webhostme.com/aspmema2.asp method=post> ชื่อสมาชิก : <input type="text" name=name size=40><br> E-Mail : <input type="text" name=email size=40><br> ชื่อเว็บ : <input type="text" name=webname size=40><br> Webpage : <input type="text" name=address size=40 value="http://"><br> คำอธิบายเว็บ : <br><textarea rows=3 cols=40 name=describ></textarea><br> <input type=submit value="Add member"><input type=reset value=Reset> </form> </body> Click เรียกเฉพาะ form นี้ในหน้าต่างใหม่ |
Source code ของโปรแกรมเพิ่มระเบียน /aspmema2.asp |
<% set connNews = server.createobject("ADODB.Connection") connNews.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/cgi-bin/member01.mdb") sql = "INSERT into member ( name, email, webname, address, describ ) SELECT " sql = sql & " '" & request.form("name") & "' as name, " sql = sql & " '" & request.form("email") & "' as email, " sql = sql & " '" & request.form("webname") & "' as webname, " sql = sql & " '" & request.form("address") & "' as address, " sql = sql & " '" & request.form("describ") & "' as describ; " set rsArticles = connNews.Execute(sql) connNews.close set connNews = nothing %> <body> Add ok </body> ดูเฉพาะ Source code เท่านั้น |
การอ่านข้อมูลจากแฟ้ม /cgi-bin/member01.mdb มาแสดง |
โปรแกรมนี้มีส่วนของ form เพื่อสั่งประมวลผล asp และถ้าจะสั่งตรง ๆ จาก aspmeml.asp ก็ได้ เพราะโปรแกรมสั่งพิมพ์ ไม่จำเป็นต้องการรับค่าจาก ฟอร์มไปตรวจสอบ แต่อย่างใด และการได้ข้อมูลมาใช้หลักการของ ADO เป็นหลัก ส่วน SQL เป็นส่วนที่เข้ามาเสริม |
ตัวอย่างฟอร์ม /aspmeml.htm ส่งค่า |
list all member Source ของ ฟอร์มข้างบนนี้ <body> list all member<br> <form action=http://thaiall.webhostme.com/aspmeml.asp method=post> <input type=submit value="list member"><input type=reset value=Reset> </form> </body> Click เรียกเฉพาะ form นี้ในหน้าต่างใหม่ |
Source code ของโปรแกรมแสดงข้อมูล /aspmeml.asp |
<% thaialldbaccess97="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/cgi-bin/member01.mdb") Set rec = Server.CreateObject("ADODB.Recordset") sql = "select * from member" rec.Open sql, thaialldbaccess97 %> <html><head><title>print all data</title></head> <body bgcolor="#ffffff"> <% if Not rec.eof then rec.MoveFirst do while Not rec.eof response.write( rec("name") &" - ") response.write( rec("email") &"<br>") response.write( rec("webname") &" - ") response.write( rec("address") &"<br>") response.write( rec("describ") &"<hr>") rec.MoveNext loop %> </body></html> Click เรียกโปรแกรมพิมพ์ข้อมูลโดยไม่ผ่าน form (อ่านข้อมูลมาแสดง) |
ทดลองลบระเบียนในแฟ้ม |
โปรแกรมนี้มีส่วนของ form เพื่อสั่งประมวลผล asp และถ้าจะสั่งตรง ๆ จาก aspmemd.asp ก็ได้ เพราะโปรแกรมสั่งลบข้อมูล โดยไม่จำเป็นต้องการรับค่าจาก ฟอร์มไปตรวจสอบ แต่อย่างใด และการลบข้อมูลใช้หลักการของ SQL เป็นหลัก ส่วน ADO เป็นส่วนที่เข้ามาเสริม |
ตัวอย่างฟอร์ม /aspmemd.htm ส่งค่า |
Delete all member Source ของ ฟอร์มข้างบนนี้ <body> Delete all member<br> <form action=http://thaiall.webhostme.com/aspmemd.asp method=post> <input type=submit value="Delete member"><input type=reset value=Reset> </form> </body> Click เรียกเฉพาะ form นี้ในหน้าต่างใหม่ |
Source code ของโปรแกรมแสดงข้อมูล /aspmemd.asp |
<% thaialldbaccess97="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/cgi-bin/member01.mdb") set conn=server.createobject("ADODB.Connection") conn.open thaialldbaccess97 strSQL = "delete from member" conn.execute (strSQL) conn.close set conn = nothing %> <body> delete ok </body> Click เรียกโปรแกรมพิมพ์ข้อมูลโดยไม่ผ่าน form (สั่งลบข้อมูล) |
แบบฝึกหัด |
|