أدناه سنحاول الوصول إلى البيانات من قاعدة بيانات دون معرفة أسماء الأعمدة. من الواضح أن أفضل طريقة لاستخدام البيانات في قاعدة البيانات الخاصة بك هي تتبع مخططك. المخطط هو تخطيط البيانات في قاعدة البيانات الخاصة بك. المفهوم يتجاوز نطاق هذا الموقع ، ولكن يجدر الإشارة. معظم الموارد الجيدة على SQL ستكون أيضًا موارد جيدة في إدارة قاعدة البيانات. مخطط قاعدة بيانات أفضل يؤدي إلى رمز ASP أفضل.
ابدأ:
أدناه هو البرنامج النصي للدرس 18.
<٪@language = "javaScript" ٪> <!-metadata type = "typelib" file = "c:/program files/common/system/ado/msado15 myConnect += server.mappath ("//") myConnect += "//globalscripts//htmlcolor.mdb ؛" ؛var connectobj = server.createObject (" adodb.connection ") ؛ var rs = server.createBject (" adodb.recordset ") ؛ var sql = (myconnect) ؛ rs.open (sql ، connectObj ، engenforwardonly ، adlockreadonly ، adcmdtext) ؛ var recordcount = rs.fields.count ؛ var x = 0 ؛ var getFieldNames = false ؛ rasting.write ("<table border =/" 1/"cellpacing =/" 0/" recordCount) {x = 0} response.write ("<tr>") ؛ if (! getFieldNames) {بينما (x <= recordCount-1) {desponse.write ("<th>" + rs.fields (x) .name + "</th>") ؛ recordCount-1) {reponse.write ("<td>" + rs.fields (x) .value + "</td>") ؛ x ++ ؛} reponse.write ("</tr>/r") ؛ rs.movenext () ؛} response.write ( null ؛ ٪> </body> </html>انقر هنا لتشغيل البرنامج النصي في نافذة جديدة.
لا أعتقد أن هذا يحتاج إلى الكثير من شرح. يخبرنا
طريقة أخرى:
هناك طريقة أكثر أناقة لإنجاز هذا الهدف نفسه هي استخدام طريقة ADO Getrows . يعيد صفيف متعدد الأبعاد يحتوي على بيانات مجموعة السجلات. انتظر! أليست صفائف JavaScript المعجمية (ومسطحة)؟ نعم. يمكننا محاكاة المصفوفات متعددة الأبعاد ، ولكن في الواقع فهي مسطحة. لذلك فهو أمر لا يتخلى عن getrows ... ما لم نفعل شيئًا مبدعًا حقًا.
<٪@language = "javaScript" ٪> <!-metadata type = "typelib" file = "c:/program files/common/system/ado/msado15 myConnect += server.mappath ("//") myConnect += "//globalscripts//htmlcolor.mdb ؛" ؛var connectobj = server.createObject (" adodb.connection ") ؛ var rs = server.createBject (" adodb.recordset ") ؛ var sql = (myconnect) ؛ rs.open (SQL ، connectObj ، endiNforwardonly ، adlockreadonly ، adcmdtext) ؛ var myarray = rs.getrows (). "<br> <br> /r")rs.movefirst() ؛Var myvbarray = new vbarray (rs.getrows ()) response.write (" يمكننا استخدام <i> new vbarray </i> و respray.write ("<i> getItem () </i> ") response.write (" إرجاع " + myvbarray.getItem (1،1) +" <br> <br> /r") response.write("now يتيح أن يجعل شيئًا مفيدًا. <br>/r") response.write("<table border = 1 cellpadding = 0 cellpacing = 0>) x <= myarray.length-1 ؛ ((x+1) ٪ rs.fields.count == 0) {response.write ("</tr>/r <tr>")}} reponse.write ("</tr>/r") استجابة.