Hej! Så här ser det ut, det gäller inte bara denna sida utan alla sidor som försöker uppdatera tabellen... Står inte vilken rad det blir fel på i felmeddelandet heller? En liten sak bara .. du kan förbättra din kod lite om du inte gör mer än det där... Jo, det är på rad 10... Alltså CITAT: Kolla också så att användaren du kör på har rättigheter att uppdatera i databasen. Den kanske bara får läsa? Set till att IUSR_Datornamn, har skrivrättigheter i mappen + db i mappen Hittade svaret i en annan fråga. Här är det om någon är intresserad(skrivet av Jocke):Kan inte uppdatera databasen!
Kan någon hjälpa mig med detta problem? När jag ska uppdatera min databas på en sida så kommer felmeddelande:
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.
Detta trots att jag i IIS använder inställningarna som ska göra att det ska gå att läsa, skriva och köra asp-script. Vad kan ha blivit fel?
/Robin Sv: Kan inte uppdatera databasen!
SQLStmt = "SELECT * FROM Annonser WHERE ID = " & Request("AdID")
SET RS = Connection.Execute(SQLStmt)
Dim Ad_Count
Ad_Count = RS("Ad_Count") + 1
SQLStmt = "UPDATE Annonser SET Ad_Count = " & Ad_Count & " WHERE ID = " & Request("AdID")
SET RS = Connection.Execute(SQLStmt)
/RobinSv: Kan inte uppdatera databasen!
Sv: Kan inte uppdatera databasen!
SQLStmt = "UPDATE Annonser SET Ad_Count = Ad_Count + 1 WHERE ID = " & Request("AdID")
Connection.Execute(SQLStmt)
Det ska öka upp Ad_count. Eftersom UPDATE inte returnerar ett resultset ska du nog inte sätta det heller. Tog bort det i satsen ovan...Sv: Kan inte uppdatera databasen!
SET RS = Connection.Execute(SQLStmt)
Tack för tipset om förbättring i koden!
/RobinSv: Kan inte uppdatera databasen!
"Jo, det är på rad 10... Alltså
SET RS = Connection.Execute(SQLStmt)"
Den raden finns 2 gånger...
Men jag antar att det är på update....
Skriver lite kod så ska vi se vad det ger :)
<code>
MM_conn_STRING = "dsn=DINSERVER;uid=USERNAME;pwd=PASSWORD"
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open MM_conn_STRING
sql = "update TABLE set VARIABLE = VARIABLE + 1 WHERE ID = " & Request("id")
OBJdbConnection.execute(sql)
'Glöm inte o stänga connection
OBJdbConnection.close
</code>
I mitt fall ligger servern som en datakälla i Kontrollpanelen -> Administrationsverkty -> Datakällor (ODBC)Sv: Kan inte uppdatera databasen!
Sv: Kan inte uppdatera databasen!
Sv: Kan inte uppdatera databasen!
hur man ställer in säkerheten på filerna i Windows XP, det är nämligen så att fliken "säkerhet" är gömd som standard, detta kan man dock ändra på.
För att få fram avancerade säkerhetsalternativ så bockar du ur Use simple file sharing (Recommended). Du finner denna dialogruta genom att öppna en mapp (vilken som helst) och klicka på menyn "Verktyg" och sedan på "Mapp alternativ". Klicka slutligen på fliken "View".
När du har ändrat denna inställning så kan du komma åt säkerhets inställningarna (NTFS) genom att högerklicka på vald mapp eller fil och välja egenskaper.
Klicka sedan på fliken Säkerhet.
Ändra behörighet Om du till exempel vill att besökarna på din hemsida ska få skriva till en fil (kan vara en databas), så väljer du säkerhet på den och markerar användaren IUSR_XXXX (X = Ditt datornamn).
Finns inte den användaren med i listan så får du lägga till den (knappen lägg till).
Markera sedan att IUSR_XXXX får skriva till denna fil.
Tack för hjälpen!
/Robin