Avatar billede fredand Forsker
10. oktober 2002 - 13:38 Der er 3 kommentarer og
3 løsninger

Problems with INSERT to a simple Access database!

Hello!

I got a simple Access database with a table called Baskets. That table got 4 columns (id(counter), prodid(int), count(int), sessionid(int)).

I can connect to this database and do SELECT queries without any problems but when I try to do a INSERT I get an error. Below is the errormessage in Swedish:

Feltyp:
Microsoft JET Database Engine (0x80004005)
Operationen måste använda en fråga som kan uppdateras.
/webbshop/add.asp, line 23


If I translate this into english it says "The operation needs to use a question that can be updated."

The code at line 28 looks like this:
myDatabaseConnection.Execute "INSERT INTO Baskets VALUES(" & prodid & "," & count & "," & sessionid & ")"

I can not understand why I can't do a insert. Does the counter at the first column the question to crash??

The code in total looks like this:

<%
    ' Response.Status = "204 No Content"

    ' Vi läser in värden
    sessionid = Session.Sessionid
    count = Request.Form("Antal")
    prodid = Request.Form("ProdId")

    'Vi skapar databaskopplingen
    Set myDatabaseConnection = Server.CreateObject("ADODB.Connection")

    'Vi skapar den virituella sökvägen till databasfilen
    databasePath = "Databas/myshop.mdb"

    'Vi skapar en sträng med alla parametrar för databasen
    connectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="
    connectionString = connectionString & server.mappath(databasePath) & ";"

    'Vi öppnar kopplingen till databasen
    myDatabaseConnection.Open connectionString

    'Vi ställer frågan
    myDatabaseConnection.Execute "INSERT INTO Baskets VALUES(" & prodid & "," & count & "," & sessionid & ")"


    'Vi stänger alla databasobjekt
    myDatabaseConnection.Close
    Set myDatbaseConnection = Nothing

%>


Please help me out!

Best regards

Fredrik Andersson
Avatar billede hbhansen Nybegynder
10. oktober 2002 - 13:40 #1
Du mangler at angive felterne i database, se FELT1 og FELT2
myDatabaseConnection.Execute "INSERT INTO Baskets(FELT,1, FELT2, osv) VALUES(" & prodid & "," & count & "," & sessionid & ")"
Avatar billede hbhansen Nybegynder
10. oktober 2002 - 13:41 #2
Ups, det skal være mellemrum mellem Basket og felterne
myDatabaseConnection.Execute "INSERT INTO Baskets (FELT,1, FELT2, osv) VALUES(" & prodid & "," & count & "," & sessionid & ")"
Avatar billede keysersoze Ekspert
10. oktober 2002 - 13:42 #3
dette betyder at enten er din database skrivebeskyttet eller - mere sandsynligt - mappen som databasen ligger i.

Hvis fejlen opstår på et webhotel har du formentlig dér fået tildelt en speciel mappe hvori databasen skal lægges
Avatar billede neteffect Nybegynder
10. oktober 2002 - 13:43 #4
Are you sure you have write access rights to the database?
Avatar billede eagleeye Praktikant
10. oktober 2002 - 13:50 #5
Det er fordi du ikke har skriverettigheder...:
Se mere om fejlen + løsning for windows NT/2000. Hvor man skal give INET_USER / Internet Guest Account skriverettighder til den folder dtabase filen ligger i.

http://activedeveloper.dk/aspdigital/kapitel2/updateable_query.asp
Avatar billede fredand Forsker
10. oktober 2002 - 14:35 #6
Thanks!

You solved the problem!

The problems were that I need tho set thr right permisson for the folder, never heard about that before!

Thanks!!!
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