30. november 2002 - 00:53Der er
45 kommentarer og 1 løsning
Nybegynder i mySQL og ASP har brug for lidt hjælp.
Goaften alle.
Jeg har lige lavet en mySQL database som hedder testdb og min table hedder testtable. Nu er det sådan jeg gerne vil hive data ud fra: ID title maintext
og hvordan gør jeg det så jeg kan se det på en asp side. ?
Det første du skal gøre er at lave en forbindelse til databasen det gør du sådan her:
set Conn = Server.CreateObject ("ADODB.Connection") Conn.Open "driver={mysql};server=server_ip; port=3306;Database=testdb;uid=dit_brugernavn;pwd=dit_password"
Her skal du udskifte: server_ip -> til den ip din mySql server har dit_brugernavn -> til det brugernavn du bruger til databasen dit_password -> til det password der matcher dit brugernavn
Efter dette er gjort kan du udføre querys mod databasen: Først sætter vi en variabel til at indeholde din query: strSQL = ”SELECT ID,title,maintext FROM testdb”
Og udføre queryen : set rs = Conn.Execute(strSQL)
Herefter kan vi bladre i resultaterne:
while not rs.EOF Response.Write(”ID på feltet er:” & rs(“ID”) & ”<br>”) Response.Write(”title:” & rs(“title”) & “<br>”) Response.Write(”maintext:” & rs(“maintext”) & “<br>”) Wend
Og vi lukker forbindelsen til databasen igen Conn.close Set rs = nothing
Error Type: Microsoft VBScript compilation (0x800A0408) Invalid character /test.asp, line 12, column 9 strSQL = ”SELECT ID,title,maintext FROM testdb” --------^
Jeg havde skrevet en lang besked her men så pga jeg gik tilbage og frem i browseren blev beskeden slette, så besluttede jeg at skrive den i word istedet. Og så lave lidt c/p
Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified /test.asp, line 12
ok så er vi videre. Du skal have myODBC driver installeret før ASP kan snakke med mySQL du kan downloade dem her: http://www.mysql.com/ i højre side er der et link MyODBC 2.50 2.50.39 den skal du hente og installere.
Error Type: Active Server Pages, ASP 0113 (0x80004005) The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools. /test.asp
Endnu et eksempel på at det er bedre for mig at gå tidligere i seng end at blive oppe hele natten og kode. Der kommer for mange "smuttere".
Du manglede rs.movenext som flytter curseren til næste tuble i dit resultset. Hvis den ikke er med vil den gå ind i en uendelig løkke og der vil være en timeout som du så på scriptet.
hvis du vil skrive i den fx via en form skal du have en html form lille eksempel: side1.asp:
<html> <body> <form action="side2.asp" method="get"> indtast en titel: <input type="text" name="titel"><br> indtast en tekst til titel: <textarea name="text"></textarea><br> <input type="submit"> </form> </body> </html>
side2.asp : <html> <% titel = Request.QueryString("titel") text = Request.QueryString("text")
set Conn = Server.CreateObject ("ADODB.Connection") Conn.Open "driver={mysql};server=localhost;port=3306;Database=testdb;uid=USERNAME;pwd=PASSWORD"
sql = "Insert into testtable(titel, maintext) values('"& titel &"','" & text &"')" Conn.Execute(sql) %> <body> Følgende er blevet indsat:<br> <%=titel%><br> <%=text%> </body> </html>
Jeg går ud fra at dit ID felt er auto_increment i databasen dvs forløbende.
Du skal huske at afslutte alle queries til MySQL med et semicolon (;). F.eks: strSQL = "Select id, titel, maintext from testdb;" Set rs = Conn.Execute(strSQL)
Prøv om det virker...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.