在下面,我们将尝试从数据库访问数据,而不知道列名。显然,使用数据库中数据的最佳方法是跟踪模式。模式是数据库中数据的布局。这个概念远远超出了该网站的范围,但值得一提。 SQL上的大多数良好资源也将是数据库管理上的良好资源。更好的数据库架构会导致更好的ASP代码。
开始:
以下是第18课的脚本。
<%@语言=“ javascript”%> <! - metadata type =“ typelib” file =“ c:/program files/common Files/common files/system/ado/msado15l” - > <html> <html> <body> <body> <%var myconnect =“ provider = microsoft.jet.jet.jet.oled.oledb.4.0; data source; data source; data source; data source; data source; data source; myConnect += server.mappath(“ //”)myConnect +=“ //globalscripts//htmlcolor.mdb;“; var connectObj = server.createobject(“ adodb.connection”) (myConnect); rs.Open(SQL,ConnectObj,andedenForwardOnly,adlockReadonly,adcmdtext); var recordcount = rs.fields.counts.counts.counts.count; var get get fieldnames = false; wress.write.write.write.write.write.write(“ <table border =/” 1/“” CellSpacing =/“” cellSpacing =/“ 0/”>/r. ifs.af(if's! recordCount){x = 0} reverts.write(“ <tr>”); if(!getFieldNames){while(x <= recordCount-1){whest.write(“ <th>” + rs.fields(x).name +“ </th>” </th>“ </th>”) recordCount-1){response.write(“ <td>” + rs.fields(x).value +“ </td>”); x ++;} response.write(“ </tr>/r”); rs.movenex; rs.Movenex;} null;%> </body> </html>单击此处以在新窗口中运行脚本。
我认为这不需要太多解释。
另一种方法:
实现相同目标的一种可能更优雅的方法是使用ADO方法Getrows 。它返回一个包含记录集数据的多维数组。等待! JavaScript阵列不是词汇(和平坦)吗?是的。我们可以模仿多维阵列,但实际上它们很平坦。因此,除非我们做一些真正有创造力的事情,否则这是无与伦比的。
<%@语言=“ javascript”%> <! - metadata type =“ typelib” file =“ c:/program files/common Files/common files/system/ado/msado15l” - > <html> <html> <body> <body> <%var myconnect =“ provider = microsoft.jet.jet.jet.oled.oledb.4.0; data source; data source; data source; data source; data source; data source; myConnect += server.mappath(“ //”)myConnect +=“ //globalscripts//htmlcolor.mdb;“; var connectObj = server.createobject(“ adodb.connection”) (myConnect); rs.open(SQL,ConnectObj,andyenforwardly,adlockReadonly,adcmdText); var myarray = rs.getRows()。toarray()。 “ <br> <br>/r ")rs.movefirst(); var myvBarray = new vbarray(rs.getRows(rs.getRows())响应。 " + myVBArray.getItem(1,1) + "<BR><BR>/r")Response.Write("Now lets make something useful.<BR>/r")Response.Write("<TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0>")Response.Write("/r<TR>")for (var x=0; x<=myArray.length-1; x ++){wress.write(“ <td>”+myArray [x]+“ </td>”)if(((x+1)rs.fields.counts.counts.counts.counts.counts.count == 0){response.write(“ </tr>/r>/r <tr>”)}}}}}}}}}}}}} null; connectObj.close(); connectObj = null;%> </body> </html>