Avatar billede wanda13 Nybegynder
26. september 2001 - 21:31 Der er 11 kommentarer og
2 løsninger

Insert into med ID

Nogen der kan hjælpe mig med dette?

Her er min SQL sætning...

strSQL = \"INSERT INTO bestilt (sessionID, varenr, antal) VALUES (\" & Session.SessionID & \" , \" & request.querystring(\"varenr\") & \", \" & request.querystring(\"antal\") & \")\"


Tabellen i Access hedder bestil og har 4 værdier :
ID - Auto nummering
sessionID - Værdien af sessionen (tal)
varenr - Tekst
antal - Tal

Den kommer hele tiden med denne fejl når jeg forsøger at skrive dertil?

Datatyperne stemmer ikke overens i kriterieudtrykket.

Avatar billede wanda13 Nybegynder
26. september 2001 - 21:50 #1
her er næsten alt koden :

        strSQL=\"SELECT * FROM bestilt WHERE (sessionID=\'\" & Session.SessionID & \"\' AND varenr=\'\" & request.querystring(\"varenr\") & \"\')\"
\' response.write strSQL
        Set database = Con.Execute(strSQL)

        if database.bof or database.eof then
                \' der blev ikke fundet nogen, der matchede
            strSQL = \"INSERT INTO bestilt (sessionID, varenr, antal) VALUES (\'\" & Session.SessionID & \"\' , \'\" & request.querystring(\"varenr\") & \"\', \'\" & request.querystring(\"antal\") & \"\')\"
response.write strSQL
    \'        Set database = Con.Execute(strSQL)
            response.write \"<Center><H2>Tak fordi du bestilte her... Du har nu bestilt : </H2></center>\" & database(\"antal\")
          else
                \' Der blev fundet nogen i forvejen...
            nyantal  = (database(\"antal\") + request.querystring(\"antal\"))
            strSQL = \"\"
            strSQL = strSQL & \"UPDATE bestilt SET antal=\'\" & nyantal & \"\' WHERE sessionID=\'\" & Session.SessionID & \"\' AND varenr=\'\" & request.querystring(\"varenr\") & \"\'\"
            Set database = Con.Execute(strSQL)
            response.write \"<Center>Din bestilling er nu blevet opdateret med 1 = \" & database(\"antal\")
        end if
Avatar billede sone Nybegynder
26. september 2001 - 22:18 #2
varenr - tekst
så skal du jo huske \' uden om din værdi.
Avatar billede wanda13 Nybegynder
26. september 2001 - 22:20 #3
ja, men det er ikke nok har forsøgt lidt af hvert med  og uden \' om felterne...
Avatar billede sone Nybegynder
26. september 2001 - 22:21 #4
strSQL = \"INSERT INTO bestilt (sessionID, varenr, antal) VALUES (\" & Session.SessionID & \" , \'\" & request.querystring(\"varenr\") & \"\', \" & request.querystring(\"antal\") & \")\"

hvis du bruger denne - hvilken fejl får du så?
Avatar billede wanda13 Nybegynder
26. september 2001 - 22:24 #5
Handlingen er ikke tilladt, mens objektet er lukket

med fejl henvisning til linien med \"if database.bof OR database.eof then\"
Avatar billede sone Nybegynder
26. september 2001 - 22:47 #6
...hvorfor oversætter du fejlene til dansk hver gang?
Avatar billede sone Nybegynder
26. september 2001 - 22:48 #7
Hvad udskriver linien response.write strSQL ?
Avatar billede wanda13 Nybegynder
26. september 2001 - 22:49 #8
det gør jeg heller ikke, det er fordi min bowser er dansk...
Avatar billede wanda13 Nybegynder
26. september 2001 - 22:50 #9
den der er aktiv af dem udskriver ikke noget, da den ikke når dertil....
Avatar billede sone Nybegynder
26. september 2001 - 22:54 #10
Hov... din response.write kommer inden din execute - så den skal udskrive noget (ved insert)
Avatar billede wanda13 Nybegynder
26. september 2001 - 23:21 #11
Nu ser koden sådan ud :

        strSQL = \"SELECT * FROM bestilt WHERE \" & Session.SessionID & \" = bestilt.sessionID AND \'\" & request.querystring(\"varenr\") & \"\' = bestilt.varenr\"
        Set database = Con.Execute(strSQL)

        if database.bof or database.eof then
            \' der blev ikke fundet nogen, der matchede
            strSQL = \"INSERT INTO bestilt (sessionID, varenr, antal) VALUES (\" & Session.SessionID & \" , \'\" & request.querystring(\"varenr\") & \"\', \" & request.querystring(\"antal\") & \")\"
            Set database2 = Con.Execute(strSQL)
            response.write \"<Center><H2>Tak fordi du bestilte her... Du har nu bestilt : </H2></center>\"
          else
            \' Der blev fundet nogen i forvejen...
            nyantal = (database(\"antal\") + request.querystring(\"antal\"))
            strSQL = \"UPDATE bestilt SET bestilt.antal=nyantal WHERE bestilt.sessionID=\" & Session.SessionID & \" AND bestilt.varenr=\'\" & request.querystring(\"varenr\") & \"\'\"
            Set database2 = Con.Execute(strSQL)
            response.write \"<Center>Din bestilling er nu blevet opdateret med 1 + \" & database2(\"antal\")
        end if

og det er først efter else, at det går galt,(i UPDATE sætningen, men hvrofor?

fejlen er dette :
Der er ikke angivet nogen værdi for en eller flere krævede parametre.

med henvisning til den sidste sql sætning....
Avatar billede sone Nybegynder
26. september 2001 - 23:28 #12
Prøv at udskrive strSQL inden execute
Avatar billede wanda13 Nybegynder
26. september 2001 - 23:28 #13
ok, har selv fået det sidste til at køre nu :-)
TAK for hjælpen
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