Avatar billede irsild Nybegynder
06. februar 2002 - 13:23 Der er 17 kommentarer og
1 løsning

problemer med database

<html>
<head>
    <title>TB</title>
</head>

<body>
Vis alle personer:
<br><br>
<%
Set Con = server.CreateObject("ADODB.Connection")
Con.open "DSN=tb"
Set RS=Con.Execute("SELECT * From Person")
       
while not RS.EOF
%>
<%=RS("navn")%>
<%RS.MoveNext
wend
Con.close
%>
</body>
</html>

----------------------------
Ovenstående kode burde vel virke?
Den viser også data fra databasen, men kun første gang siden bliver hentet. Efterfølgende er det som om den looper uendeligt i et while loop. Der kommer også den fejl: "Der er for mange bruger tilsluttet". Kan det være PWS der er noget galt med eller kan det være access-databasen?
Avatar billede coltau Juniormester
06. februar 2002 - 13:37 #1
Prøv lige med RS.Close inden linien: Con.Close
Avatar billede roadrunr Nybegynder
06. februar 2002 - 13:37 #2
Umiddelbart kunne du starte med at skrive:
--> Set Con = Nothing

Efter Du har skrevet "Con.Close "(så skulle databasen være lukket rigtig af.)

Dernæst, hvis du har mere end 10 brugere på samtidig, så kan PWS vidst heller ikke følge med.
Avatar billede irsild Nybegynder
06. februar 2002 - 13:46 #3
Der var ikke noget af det der virkede.

Det mærkelige er at alle mine ASP-sider ikke virker i PWS. Mange af dem har virket, men gør det ikke mere og det er så snart der skal hentes fra database. De virker første gang siden hentes, så må jeg genstarte computeren og så virker de første gang igen.
Avatar billede tobby Nybegynder
06. februar 2002 - 16:39 #4
Prøv med dette:

<%
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "DSN=tb"
Set RS = Con.Execute("SELECT * FROM Person")
%>

<HTML>
<HEAD>
  <TITLE>TB</TITLE>
</HEAD>
<BODY>
Vis alle personer:
<P>
<%
Do until RS.EOF
  Response.Write RS("Navn")
RS.MoveNext
Loop
%>
</BODY>
</HTML>
<%
RS.Close
Set RS = Nothing
%>

- og så et lille tip: Kald dit Recordset noget, som du kan huske.
Avatar billede tobby Nybegynder
06. februar 2002 - 16:42 #5
Prøv med dette:

<%
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "DSN=tb"
Set RS = Con.Execute("SELECT * FROM Person")
%>

<HTML>
<HEAD>
  <TITLE>TB</TITLE>
</HEAD>
<BODY>
Vis alle personer:
<P>
<%
Do until RS.EOF
  Response.Write RS("Navn")
RS.MoveNext
Loop
%>
</BODY>
</HTML>
<%
RS.Close
Set RS = Nothing
%>

- og så et lille tip: Kald dit Recordset noget, som du kan huske.
Avatar billede coltau Juniormester
06. februar 2002 - 20:41 #6
Jeg tror ikke dit problem findes i asp-koden - men i opsætning af DSN.
Prøv at ændre linien:
Con.open "DSN=tb"
til:
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("test.mdb") ' Filforbindelse til test.mdb
test.mdb skal ændres til navnet på din access-database.
Hvis du får samme problem så er fejlen ikke i DSN - så er det da udelukket.
Avatar billede tobby Nybegynder
06. februar 2002 - 21:48 #7
Enig
Avatar billede mr.meincke Nybegynder
06. februar 2002 - 23:02 #8
Enig her også....
Avatar billede irsild Nybegynder
07. februar 2002 - 11:22 #9
Coltau >>
Det virkede ikke med:

Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("test.mdb")

Der sker det samme.
Avatar billede irsild Nybegynder
07. februar 2002 - 11:24 #10
Jeg har prøvet at lave test.mdb om til det rigtige navn
Avatar billede tobby Nybegynder
07. februar 2002 - 19:24 #11
Har du prøvet min kode?
Avatar billede irsild Nybegynder
07. februar 2002 - 20:12 #12
tobby >> Ja, har prøvet. Der sker det samme.
Avatar billede tobby Nybegynder
08. februar 2002 - 00:19 #13
Har du prøvet det online?
Avatar billede irsild Nybegynder
08. februar 2002 - 13:54 #14
tobby >> Ja, det virker online, men ikke med pws.
Avatar billede coltau Juniormester
08. februar 2002 - 14:28 #15
Koden virker online - men ikke i PWS. Så er det endten Access eller DSN-opsætning. Prøv at cheche DSN "tb" under kontrolpanel - ODBC. Den kan stå til "tillad kun en bruger" eller andet. Check under Knappen-Avanceret.
Avatar billede irsild Nybegynder
08. februar 2002 - 14:50 #16
coltau >> Var der ikke sådan at hvis følgende ikke virkede:

Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("tb.mdb")

så var det ikke DSN der var noget galt med?
Har været checke ODBC og det ser ud til at være rigtigt.

Jeg skulle måske prøve med en anden database?
Avatar billede tobby Nybegynder
09. februar 2002 - 01:32 #17
Prøv evt. at lukke din database. Det behøver man normalt ikke, men det kan da være det hjælper.

Skriv følgende i bunden af dit script:
<%
Con.Close
Set Con = Nothing
%>

- Det kan være den brokker sig over "Con.Close" - så sletter du bare den del af det.

Jeg tror ikke det vil ændre noget at skifte db.
Avatar billede irsild Nybegynder
27. februar 2002 - 19:00 #18
Virker ikke.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester