webForumDet fria alternativet

Problem med databas

6 svar · 224 visningar · startad av Gein

GeinMedlem sedan sep. 20005 700 inlägg
#1

Jag har lite problem med min databas jag har.. jag kan komma in på sidan och öppna den, databasen öppnas, sidan körs. men vill jag sedan uppdatera sidan så funkar det inte. troligtvis för att databasen fortfarande är öppen. För om jag väntar några sekunder så funkar det igen. MEN jag stänger ju databasen med kommandot Connect.Close... ta en titt på koden och se om ni kan hjälpa mej.. tack!

<%
Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database.mdb"))
%>
 <%
		SQL = "SELECT * FROM adminadd"
			Set RecSet = Connect.Execute(SQL)
%>

tjafs

	<%
			Do until RecSet.EOF
					If tempcat = RecSet("Category") then
					else
						tempcat = RecSet("Category")
						%>
						<OPTION><%=RecSet("Category")%></OPTION>
						<%
					End If
					RecSet.MoveNext
			Loop
			Connect.Close
	%>

------------------
"When there's no more room in hell,
the dead will walk the earth."

puzzeMedlem sedan sep. 20005 700 inlägg
#2

löste det, hade glömt att stänga RecSet..
men jag har ett annat problem iaf

<%

	short 		= Request.Form("short")
	expl 		= Request.Form("exp")
	category 	= Request.Form("category")
	newcat		= Request.Form("newcat")

	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb"))

	If not newcat = "" then
		category = newcat
	End If
	SQL = "INSERT INTO adminadd ([Shortening], [Explanation], [Category]) VALUES ('"& short &"','"& expl &"','"& category &"')"
	Set RecSet = Connect.Execute(SQL)
	RecSet.Close
	Connect.Close
	Response.Redirect("admin.asp")
%>

felmeddelande:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Drivrutin för ODBC Microsoft Access] Operationen måste använda en fråga som kan uppdateras.
/adminadd.asp, line 15

------------------
"When there's no more room in hell,
the dead will walk the earth."

PatrikBMedlem sedan mars 20002 836 inlägg
#3

Kolla in hur rättigheterna på mappen där .mdb filen ligger ... kolla oxå att det är rätt rättigheter på filen oxå.

cya,

------------------
Private Function OutPut(ByRef sString)
OutPut = "Who gives ..." & sString
End Function

juventus1Medlem sedan dec. 2000399 inlägg
#4

Prova att göra så här istället:

SQL = "INSERT INTO adminadd ([Shortening], [Explanation], [Category]) VALUES ('"& short &"','"& expl &"','"& category &"')"
Connect.Execute(SQL)
Connect.Close
Response.Redirect("admin.asp")

Du behöver inte skapa ett recordset om du bara ska uppdatera eller lägga till data i databasen.

mvh André

puzzeMedlem sedan sep. 20005 700 inlägg
#5

jag tror det har nåt med rättigheterna att göra som sagt, jag kör IIS och vet inte riktigt hur man ska ändra rättigheterna för mappen, tycker jag har valt alla rättigheter ändå så funkar det inte... :/

------------------
"When there's no more room in hell,
the dead will walk the earth."

puzzeMedlem sedan sep. 20005 700 inlägg
#6

Nu hittade jag felet.. Tack för hjälpen! blev tvungen att ändra rättigheterna på databasfilen..

Tack så mycket!
/Patrik

------------------
"When there's no more room in hell,
the dead will walk the earth."

PatrikBMedlem sedan mars 20002 836 inlägg
#7

vars'god .....

------------------
Private Function OutPut(ByRef sString)
OutPut = "Who gives ..." & sString
End Function

128 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)