ด้านล่างเราจะพยายามเข้าถึงข้อมูลจากฐานข้อมูลโดยไม่ทราบชื่อคอลัมน์ เห็นได้ชัดว่าวิธีที่ดีที่สุดในการใช้ข้อมูลในฐานข้อมูลของคุณคือการติดตามสคีมาของคุณ Schema เป็นเค้าโครงของข้อมูลในฐานข้อมูลของคุณ แนวคิดนี้อยู่นอกเหนือขอบเขตของเว็บไซต์นี้ แต่ก็คุ้มค่าที่จะกล่าวถึง ทรัพยากรที่ดีที่สุดใน SQL จะเป็นทรัพยากรที่ดีในการจัดการฐานข้อมูล สคีมาฐานข้อมูลที่ดีขึ้นนำไปสู่รหัส ASP ที่ดีขึ้น
เริ่มต้น:
ด้านล่างเป็นสคริปต์สำหรับบทเรียนที่ 18
<%@language = "JavaScript"%> <!-metadata type = "typelib" file = "c:/ไฟล์โปรแกรม/ไฟล์ทั่วไป/ระบบ/ADO/MSADO15.DLL"-> <html> <body> <%var myConnect = "provider = microsoft. myConnect += server.mappath ("//") myConnect += "//globalscripts//htmlcolor.mdb;";Var connectoBj = เซิร์ฟเวอร์ createBject (" adodb.connection "); var rs = server.createBject ( (myConnect); rs.open (sql, connectobj, appenwardonly, adlockreadonly, adcmdtext); var recordcount = rs.fields.count; var x = 0; var getfieldNames = false; response.write ("เส้นขอบตาราง =/" 1/"cellspacing =/" 0/">/r"; = 0} response.write ("<tr>"); ถ้า (! getfieldNames) {ในขณะที่ (x <= recordCount-1) {response.write ("<th>" + rs.fields (x) .name + "</th>"); x ++;} getfieldNames = true; x = 0; recordCount-1) {response.write ("<td>" + rs.fields (x) .Value + "</td>"); x ++;} response.write ("</tr>/r"); rs.movenext ();} การตอบสนอง null;%> </body> </html>คลิกที่นี่เพื่อเรียกใช้สคริปต์ในหน้าต่างใหม่
ฉันไม่คิดว่าสิ่งนี้ต้องการการอธิบายมาก
อีกวิธีหนึ่ง:
วิธีที่หรูหรากว่าในการบรรลุเป้าหมายเดียวกันนี้คือการใช้วิธี ADO Getrows มันส่งคืนอาร์เรย์หลายมิติที่มีข้อมูลชุดบันทึก รอ! จาวาสคริปต์อาร์เรย์คำศัพท์ (และแบน) ไม่ใช่หรือ? ใช่. เราสามารถเลียนแบบอาร์เรย์หลายมิติ แต่ในความเป็นจริงพวกเขาแบน ดังนั้นมันจึงไม่ต้องไปกับ getrows ... เว้นแต่ว่าเราจะทำอะไรที่สร้างสรรค์จริงๆ
<%@language = "JavaScript"%> <!-metadata type = "typelib" file = "c:/ไฟล์โปรแกรม/ไฟล์ทั่วไป/ระบบ/ADO/MSADO15.DLL"-> <html> <body> <%var myConnect = "provider = microsoft. myConnect += server.mappath ("//") myConnect += "//globalscripts//htmlcolor.mdb;";Var connectoBj = เซิร์ฟเวอร์ createBject (" adodb.connection "); var rs = server.createBject ( (myConnect); rs.open (sql, connectoBj, appenwardonly, adlockreadonly, adcmdtext); var myarray = rs.getrows (). toarray (); response.write ("มาดูผลลัพธ์ของ myarray เป็น javaScript"); "<br> <br> /r")rs.movefirst(); var myvbarray = new vbarray (rs.getrows ()) response.write (" เราสามารถใช้ <i> ใหม่ vbarray </i> constructor และ ") response.write (" <i> getitem () ") response.write (" returns " + myvbarray.getItem (1,1) +" <br> <br> /r") response.write("Now ให้สิ่งที่เป็นประโยชน์ <br> /r") response.write(" x <= myarray.length-1; ((x+1)%rs.fields.count == 0) {response.write ("</tr>/r <tr>")}} repection.write ("</tr>/r") Response.write ("</table>") rs.close (); rs = null; connectoBj.close ()