Jag får ett fel i min kod ungefär 4 gånger av 5, där meddelandet är att jag inte kan öppna min databas connection för att den redan är öppen (tror jag) trots att jag avslutar asp-koden med: dbConn.Close Använd en och samma connection för hela koden annars. Stänger du den bara med close Förstår inte denna rad " Call maxRS.Open(sqlcount, dbConn) " Jag har fått för mig att det funkar på samma sätt faktiskt. Ni gör båda samma sak: Jag får tacka för hjälpen, men nu har jag en ny fråga. Detta funkar kanon nu, om jag inte använder Access för att redigera databasen. Kan det vara så att Access "håller" databasen ca 30 sekunder efter man stängt ner det så att scripten inte kommer åt att öppna den? Ja - Access öppnar en databas exklusivt, dock går det i Access att ställa in detta. Sedan är det så också att om du lägger en mdb.fil på en server så måste du ge usern guest skrivrättigheter och det gäller varje gång du placerar en ny fil där - för annars fungerar det bara att skriva frågor till den, inte kunna uppdatera.asp - databas
Tar det tid att stänga databasen, typ mer än en halv minut, eller har jag gjort något annat fel?
Det är precis som om den inte stängt databasen från förra gången jag var in.
/ JSv: asp - databas
det funkar oxå.
mvh
JonasSv: asp - databas
det kan vara en väldigt bra ide att sätta den som nothing också
set dbconn=nothingSv: asp - databas
Det är grymt skumt, för det funkar ibland. Kan det ha med att jag öppnar databasen från Access ibland för att redigera (har den dock inte öppen när jag testar)? Detta förslag för att det idag är stabilare.
Här är koden:
<%
Dim dbConn, dbQuery, maxRS, sqlcount
Set dbConn = Server.CreateObject("ADODB.Connection")
dbConn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=\\www-lab\pfi\it97jma\projekt\dvargvideo.mdb"
sqlcount = "SELECT MAX(actorID+1) AS ID FROM Actor"
Set maxRS = Server.CreateObject("ADODB.Recordset")
Call maxRS.Open(sqlcount, dbConn)
dbQuery = "INSERT INTO Actor VALUES(" & maxRS("ID") & ", '" & Request.Form("fname") & "', '" & Request.Form("ename") & "')"
dbConn.Execute(dbQuery)
maxRS.Close
dbConn.Close
Set maxRS = Nothing
Set dbConn = Nothing
Response.Redirect "admin.htm"
%>Sv: asp - databas
brukar altid använda
Set objRs = Server.CreateObject("ADODB.Recordset")
objRs.Open sql, objConn, 1, 2
Varför anropar du recordset objectet ??Sv: asp - databas
har provat båda och inte märkt nån skillnad.Sv: asp - databas
Det är inge skillnad på
Call maxRS.Open(sqlcount, dbConn)
eller
objRs.Open sql, objConn, 1, 2
förutom att du skickar med extra parameter i slutet.
om du tar bort Call och () så får du samma funktion.
- magnusSv: asp - databas
Annars vet jag inte vad som är problemet.Sv: asp - databas
/Pelle