Ci-dessous, nous tenterons d'accéder aux données à partir d'une base de données sans connaître les noms de colonne. Il est clair que la meilleure façon d'utiliser des données dans votre base de données est de suivre votre schéma. Le schéma est la disposition des données dans votre base de données. Le concept est bien au-delà de la portée de ce site Web, mais il convient de mentionner. La plupart des bonnes ressources sur SQL seront également de bonnes ressources sur la gestion des bases de données. Un meilleur schéma de base de données conduit à un meilleur code ASP.
Commencer:
Vous trouverez ci-dessous le script de la leçon 18.
<% @ Language = "javascript"%> <! - Metadata type = "typelib" file = "C: / Program Files / Common Files / System / ADO / 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 sql =" sélectionner * chez ConnectOBjj); var sql = "SELECT * chez ConnectOBJJ. (MyConnect); Rs.Open (SQL, ConnectObj, AdoptenForwardOnly, AdlockReadOnly, AdcmDtex RecordCount) {x = 0} Response.Write ("<Tr>"); if (! getFieldNames) {while (x <= recordCount-1) {réponse.write ("<th>" +} getFields (x) .name + "</ th>"); x ++;} getFieldsDames = true; x = 0; Réponse.Write ("</r> / r <Tr>")} RecordCount-1) {Response.Write ("<Td>" + Rs.fields (x) .Value + "</td>"); x ++;} réponse.write ("</tr> / r"); Rs.MovExt ();} Response.Write ("</pall null;%> </ body> </html>Cliquez ici pour exécuter le script dans une nouvelle fenêtre.
Je ne pense pas que cela ait beaucoup besoin d'expliquer. Le
Une autre façon:
Un moyen potentiellement plus élégant d'atteindre ce même objectif est d'utiliser la méthode ADO Getrows . Il renvoie un tableau multidimensionnel contenant les données de plate-forme. ATTENDEZ! Les tableaux JavaScript ne sont-ils pas lexicaux (et plats)? Oui. Nous pouvons imiter les tableaux multidimensionnels, mais en réalité, ils sont plats. C'est donc un non-go sur les Getrows ... à moins que nous fassions quelque chose de vraiment créatif.
<% @ Language = "javascript"%> <! - Metadata type = "typelib" file = "C: / Program Files / Common Files / System / ADO / 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 sql =" sélectionner * chez ConnectOBjj); var sql = "SELECT * chez ConnectOBJJ. (MyConnect); Rs.Open (SQL, ConnectObj, AdoptenForwardOnly, AdlockReadonly, AdcmdText); var MyArray = Rs.Getrows (). ToArray (); Response.Write ("Signons-les (qui est plat). "<br> <br> /r")rs.movefirst();var myvbarray = new vBarray (rs.getrows ()) réponse.write (" Nous pouvons utiliser le constructeur <i> nouveau VBarray </i> et la méthode ") Response.write (" <i> getItem () </i>. "+ myvbarray.getItem (1,1) +" <br> <br> /r")Response.write("now soyons quelque chose d'utile. <br> /r"SpiraSponse.write("<<Table border = 1 celpadding = 0 cellSpactive = 0> ") Response.write (" / r <tr> ") pour (var x = 0; x ++) {réponse.write ("<td>" + MyArray [x] + "</td>") if ((x + 1)% Rs.fields.count == 0) {réponse.write ("</tr> / r <tr>")}} Response.write ("</tr> / r") Response.write ("</pall>") null; connectObj.close (); connectObj = null;%> </ body> </html>