Just nu i M3-nätverket
Gå till innehåll

Kan inte uppdatera databasen


Punger

Rekommendera Poster

Jag har ett väldigt irriterande problem. Jag kan nämligen inte uppdatera, lägga in eller ta bort poster i databasen.

Det funkar när det ligger uppe på nätet men inte hemma genom IIS.

 

Eftersom det är på detta viset så har jag förmodligen något inställt fel men jag tycker mig ha prövat allt.

 

Hjälp med detta vore inte helt fel.

 

/M

 

Länk till kommentar
Dela på andra webbplatser

Du får gärna skicka in felmeddelandet du får så kan vi hjälpa dig lättare!

 

Ett tips är att kolla så att användaren IUSR_<datornamn> har skrivrättigheter till databasfilen.

 

//Clas

 

Länk till kommentar
Dela på andra webbplatser

Jag får detta felmeddelandet:

 

"Det går inte att uppdatera. Databasen eller objektet är skrivskyddat."

 

Vart är det man kollar vilka som har skrivrättigheter? Är det i inställningarna för IIS eller? Körde PWS på den förra datorn så det är lite nytt detta.

 

Länk till kommentar
Dela på andra webbplatser

Du ändrar skrivrättigheterna genom att högerklicka på databasfilen i filhanteraren (antar att det är Access du använder), väljer "egenskaper" och därefter fliken "Säkerhet". Lägg till användarkontot IUSR_<dindatorsnamn> och se till att kontot har skrivrättigheter.

 

//Clas

 

Länk till kommentar
Dela på andra webbplatser

Okej... jag gick alltså in "Internet information Services" i kontrollpanelen. Letade upp databasen och gav IUSR rättigheter. Japp det fungerade... men nu har jag ett annat problem. Kanske kan du det med.

 

Jag vill uppdatera fält i två databaser och det funkar med den ena men när jag vill uppdatera den andra så är det fel i "UPDATE-syntax":en.

 

Jag uppdaterar så här:

 

SQL = "UPDATE blabla bla"

SQL2 = "UPDATE mera blabla bla"

 

conn.execute(SQL)

conn.execute(SQL2)

 

conn.Close

 

Men så kanske man inte kan göra eller?

 

/M

 

Länk till kommentar
Dela på andra webbplatser

Men så kanske man inte kan göra eller?

Jodå, det går bra. Felet ligger i dina sql-satser. Hur ser de ut exakt?

 

//Clas

 

Länk till kommentar
Dela på andra webbplatser

Ja, det ska du få veta... de ser ut så här.

 

SQL = "UPDATE " & section & " SET rooms = '" & Request.Form("rooms") & "', price = " & Request.Form("price") & ", location = '" & Request.Form("location") & "', description = '" & Request.Form("description") & "', availability= '" & Request.Form("availability") & "' WHERE id = " & id & ""

 

SQL2 = "UPDATE latest SET date = " & when & " WHERE type = '" & section & "'"

 

when = Now

 

Jag tycker mig ha provat med olika kombinationer av fnuttar (" ') så det känns om om det är något annat.

 

/M

 

[inlägget ändrat 2003-02-13 18:54:12 av Punger]

Länk till kommentar
Dela på andra webbplatser

En sak till...

Hur ser de ut efter att strängen satts ihop?

Skriv ut de så här:

SQL = "UPDATE blabla bla"
SQL2 = "UPDATE mera blabla bla"
response.write SQL & "<br><br>"
response.write SQL2
response.end

conn.execute(SQL)
conn.execute(SQL2)

conn.Close

 

//Clas

 

Länk till kommentar
Dela på andra webbplatser

UPDATE apartments SET rooms = 'STUDIOS', price = 902, location = 'Boston', description = 'Call for more information', availability= 'Now' WHERE id = 25

 

UPDATE latest SET date = 2003-02-13 19:04:49 WHERE type = 'apartments'

 

/M

 

[inlägget ändrat 2003-02-13 19:07:21 av Punger]

Länk till kommentar
Dela på andra webbplatser

Precis som dotgif skrev så måste du omsluta datum i en sql-sats om också fältet i databasen är av datumtyp. Om du använder dig av Access så ska du använda #, exempelvis

UPDATE latest SET date = #2003-02-13 19:04:49# WHERE type = 'apartments'

 

//Clas

 

[inlägget ändrat 2003-02-13 21:51:38 av Clas Ericson]

Länk till kommentar
Dela på andra webbplatser

Det funkar inte, det blir fortfarande samma fel som förut. Dvs. "Syntaxfel i UPDATE-uttryck."

 

Provade både med ' och # men icke.

 

Förövrigt så har jag provat att ha datumfältet som både "datum/tid" och som "text", men det funkar ändå inte.

 

/M

 

[inlägget ändrat 2003-02-14 07:45:36 av Punger]

Länk till kommentar
Dela på andra webbplatser

Det kan vara så att den inte tycker om att fältet date heter just date eftersom det är en funktion som returnerar ett datum. Pröva att döpa om fältet date till ngt annat. Jag lägger alltid till prefixet fld (som i field) till varje fältnamn för att undvika dessa krockar. I ditt fall skulle det kunna heta fldDate.

 

Fortfarande måste du omsluta datumet.

 

//Clas

 

[inlägget ändrat 2003-02-14 08:09:02 av Clas Ericson]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...