08. november 2001 - 09:09
Der er
7 kommentarer og 1 løsning
Skriv db til tabel i samme asp doc...
Jeg har to input felter der bliver sendt til denne database. I samme kode vil jeg have den til at vise databasen i en html tabel. så det står listet score/navn/dato. Og skal så sorteres så den højeste score står øverst. Kan det lade gøre og hvordan? <% Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"db.mdb\") Conn.Execute(\"INSERT INTO tabel (thescore, thename) VALUES (\'\" & Request.Form(\"score\") & \"\',\'\" & Request.Form(\"name\") & \"\') \") Conn.Close Set Conn = Nothing %> <body bgcolor=ffffff> </body>
Annonceindlæg fra HP
08. november 2001 - 09:14
#1
Det kan nok lade sig gøre, men hvorfor laver du ikke bare en respone.redirect nederst på din input side som viser vidre ?
08. november 2001 - 09:20
#2
Det kan sagtens lade sig gøre, du skal bare bruge den rigtigt SQL-streng når du trækker ud fra DB\'en: Set RS=Conn.Execute(\"SELECT * FROM tabel ORDER BY thescore\") og så en løkke (blander lige ASP og HTML): <table> <tr><td>Score</td><td>Navn</td><td>Dato</td></tr> <% do until RS.eof %> <tr><td><%=rs(\"thescore\")%></td><td><%=rs(\"thename\")%></td><td><%=rs(\"thedate\")%></td></tr> <% RS.movenext loop %> </table>
08. november 2001 - 09:26
#3
Sofus > Der hvor input felterne bliver hentet fra er fra en flash fil, så jeg har ikke så mange muligheder i den retning. juggalo > vil koden så komme til at se sådan ud? <% Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"db.mdb\") Conn.Execute(\"INSERT INTO tabel (thescore, thename) VALUES (\'\" & Request.Form(\"score\") & \"\',\'\" & Request.Form(\"name\") & \"\') \") Set RS=Conn.Execute(\"SELECT * FROM tabel ORDER BY thescore\") Conn.Close Set Conn = Nothing %> <body bgcolor=ffffff> <table> <tr><td>Score</td><td>Navn</td><td>Dato</td></tr> <% do until RS.eof %> <tr><td><%=rs(\"thescore\")%></td><td><%=rs(\"thename\")%></td><td><%=rs(\"thedate\")%></td></tr> <% RS.movenext loop %> </table> </body> Jeg glemte lige der må max kunne stå 50 listet i tabellen...
08. november 2001 - 09:36
#4
Mere eller mindre :) At begrænse udtrækket til 50 poster mener jeg gøres ved at lave SQL-strengen om til; Set RS=Conn.Execute(\"SELECT TOP 50 * FROM tabel ORDER BY thescore\")
08. november 2001 - 10:14
#5
Koden ser nu sådan ud, og kommer med denne fejl meddelse. Error Type: ADODB.Recordset (0x800A0E78) Operation is not allowed when the object is closed. modtag.asp, line 15 <% Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"db.mdb\") Conn.Execute(\"INSERT INTO tabel (thescore, thename) VALUES (\'\" & Request.Form(\"score\") & \"\',\'\" & Request.Form(\"name\") & \"\') \") Set RS=Conn.Execute(\"SELECT TOP 50 * FROM tabel ORDER BY thescore\") Conn.Close Set Conn = Nothing %> <body bgcolor=ffffff> <table> <tr><td>Score</td><td>Navn</td><td>Dato</td></tr> <% do until RS.eof %> <tr><td><%=rs(\"thescore\")%></td><td><%=rs(\"thename\")%></td><td><%=rs(\"thedate\")%></td></tr> <% RS.movenext loop %> </table> </body> Ps: jeg ved 0 om asp
08. november 2001 - 10:43
#6
Jeg er åbenbart ikke den eneste der ved 0 om asp :O)
08. november 2001 - 12:04
#7
Jeg gættede mig til feltnavnet \"thedate\" er det rigtigt?
08. november 2001 - 13:31
#8
Næh datoen har jeg droppet indtil videre.. og så slettet jeg: Conn.Close Set Conn = Nothing Så virker det, men den bliver så ikke lukket igen, hvad det så end gør....
Kurser inden for grundlæggende programmering