Ниже мы попытаемся получить доступ к данным из базы данных, не зная имена столбцов. Очевидно, что лучший способ использовать данные в вашей базе данных - отслеживать вашу схему. Схема - это макет данных в вашей базе данных. Концепция выходит за рамки этого веб -сайта, но стоит упомянуть. Большинство хороших ресурсов на SQL также будут хорошими ресурсами для управления базами данных. Лучшая схема базы данных приводит к лучшему коду ASP.
Начните:
Ниже приведен сценарий для урока 18.
<%@Language = "javascript"%> <!-metadata type = "typelib" file = "c:/program files/common files/system/ado/msado15.dll"-> <html> <body> <%var myConnect = "provider = microsoft.jet.4.0; data source ="; myConnect += server.mappath ("//") myConnect += "//globalscripts//htmlcolor.mdb;"; var connectobj = server.createobject (" adodb.connection "); var rs = server.createObject (" adodb.recordset "); (myConnect); Rs.open (sql, connectObj, adposenForwardonly, adlockreadonly, adcmdtext); var recordcount = rs.fields.count; var x = 0; var getfieldnames = false; response.write ("<table border =/" 1/"cellspacing =/" 0/">/r"); recordCount) {x = 0} response.write ("<tr>"); if (! getfieldNames) {while (x <= recordCount-1) {response.write ("<Th>" + rs.fields (x) .name + "</th>"); x ++;} getFieldNames = x = 0; recordcount-1) {response.write ("<td>" + rs.fields (x) .value + "</td>"); x ++;} response.write ("</tr>/r"); rs.movenext ();} response.write ("</table>/r"); rs.close (); null;%> </body> </html>Нажмите здесь, чтобы запустить сценарий в новом окне.
Я не думаю, что это нужно много объяснять.
Другой способ:
Потенциально более элегантный способ достижения этой же цели - использовать метод ADO GetRows . Он возвращает многомерный массив, содержащий данные записи. ЖДАТЬ! Разве JavaScript массивы лексики (и плоские)? Да. Мы можем подражать многомерным массивам, но на самом деле они плоские. Так что это не годится на GetRows ... если мы не сделаем что-то действительно творческое.
<%@Language = "javascript"%> <!-metadata type = "typelib" file = "c:/program files/common files/system/ado/msado15.dll"-> <html> <body> <%var myConnect = "provider = microsoft.jet.4.0; data source ="; myConnect += server.mappath ("//") myConnect += "//globalscripts//htmlcolor.mdb;"; var connectobj = server.createobject (" adodb.connection "); var rs = server.createObject (" adodb.recordset "); (myConnect); Rs.open (SQL, ConnectObj, AdissEnForwardonly, Adlockreadonly, AdcmdText); var myarray = rs.getrows (). toarray (); response.write («Давайте посмотрим на результаты Myarray как Javascript»); response.write («видит их (что является плоским). «<br> <br> /r")rs.movefirst();; Var myvbarray = new vbarray (rs.getrows ()) response.write (« Мы можем использовать конструктор <i> vbarray </i> и ответ. ") Response.write (" возвращает " + myvbarray.getItem (1,1) +" <br> <br> /r") rosponse.write("now давайте сделаем что -нибудь полезное. x <= myarray.length-1; x ++) {response.write ("<td>" + myarray [x] + " ((x+1)%rs.fields.count == 0) {response.write ("</tr>/r <tr>")}} response.write ("</tr>/r") ответ.