以下に、列名を知らずにデータベースからデータにアクセスしようとします。明らかに、データベースでデータを利用する最良の方法は、スキーマを追跡することです。スキーマは、データベース内のデータのレイアウトです。このコンセプトはこのWebサイトの範囲をはるかに超えていますが、言及する価値があります。 SQLの最も優れたリソースは、データベース管理の優れたリソースでもあります。より良いデータベーススキーマは、より良いASPコードにつながります。
始めましょう:
以下はレッスン18のスクリプトです。
<%@言語= "javascript"%> <! - metadata type = "typelib" file = "c:/common files/common files/system/msado15.dll" - > <html> <body> <%var myconnect = "provider = microsoft.jet.oledb.4.0; data source ="; myConnect += server.mappath( "//")myconnect += "//globalscripts//htmlcolor.mdb;";var connectobj = server.createobject(" adodb.connection "); var rs = server.createobject(" adodb.cerordset "); var sql =" (myConnect); rs.open(sql、connectobj、adopenforwardonly、adlockreadonly、adcmdtext); var recordcount = rs.fields.count; var x = 0; var getfieldnames = false; respons.write( "<table border =/" 1/"cellspacing =/" 0/"); RecordCount){x = 0} respons.write( "<tr>"); if(!getFieldNames){while(x <= recordcount-1){response.write( "<th>" + rs.fields(x).name + "</th>"); x ++;} getFieldNames = getFieldNames = true; x = 0; respons.write < RecordCount-1){Response.Write( "<td>" + rs.fields(x).value + "</td>"); x ++;} respons.write( "</tr>/r"); rs.movenext();} respons.write( "</table>/r"); rs.close(); contedobj.close(); contedobj.close(); contedobj.close(); null;%> </body> </html>ここをクリックして、新しいウィンドウでスクリプトを実行してください。
これにはあまり説明する必要はないと思います。
別の言い方:
この同じ目標を達成する潜在的にエレガントな方法は、ADOメソッドGetRowsを使用することです。レコードセットデータを含む多次元配列を返します。待って! JavaScriptアレイは語彙(およびフラット)ではありませんか?はい。多次元アレイをエミュレートできますが、実際にはフラットです。ですから、それはgetRowsのノーゴーです...私たちが本当に創造的なことをしない限り。
<%@言語= "javascript"%> <! - metadata type = "typelib" file = "c:/common files/common files/system/msado15.dll" - > <html> <body> <%var myconnect = "provider = microsoft.jet.oledb.4.0; data source ="; myConnect += server.mappath( "//")myconnect += "//globalscripts//htmlcolor.mdb;";var connectobj = server.createobject(" adodb.connection "); var rs = server.createobject(" adodb.cerordset "); var sql =" (myConnect); rs.open(sql、connectobj、adocenforwardonly、adlockreadonly、adcmdtext); var myarray = rs.getrows()。toarray(); respons.write( "myarrayの結果をJavascriptとして見てみましょう") "<br> <br> /r")rs.movefirst(); var myvbarray = new vbarray(rs.getrows())respons.write(" new vbarray </i> constructor </i> ")respons.write(" <i> getItem()</i>方法:myvarray( ")") ")" </i> " + myvbarray.getItem(1,1) +" <br> <br>/r")response.write( "now lets blets beats beats beats makes makementsmakentable.write(" <table border = 1 cellpadding = 0 cellspacing = 0> ")respons.write("/r <tr> ") x ++){response.write( "<td>"+myArray [x]+"</td>")if((x+1)%rs.fields.count == 0){respons.write( "</tr>/r <tr>")}} respons.write( "</tr>/r")response.write(rs.close(rss close) null; connectobj.close(); connectobj = null;%> </body> </html>