Avatar billede mick Nybegynder
05. november 2000 - 20:10 Der er 16 kommentarer og
4 løsninger

Fejl i UPDATE

Hvad er galt her? :

strSQL = \"UPDATE art SET antal=\" & vis & \" WHERE id=\" & id

Jeg får fejlen :

Microsoft OLE DB Provider for ODBC Drivers error \'80040e10\'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

Avatar billede mick Nybegynder
05. november 2000 - 20:18 #1
Antal er af datatypen integer, og vis indeholder et heltal.
Avatar billede phylox2 Nybegynder
05. november 2000 - 20:26 #2
strSQL = \"UPDATE art SET antal=\'\" & vis & \"\' WHERE id=\'\" & id & \"\'\"
Avatar billede stigc Nybegynder
05. november 2000 - 20:26 #3
du må smide mere af din kode her.
Avatar billede retep Nybegynder
05. november 2000 - 20:30 #4
strSQL = \"UPDATE art SET antal=\"& vis &\" WHERE id=\"& id &\" \"

Du havde ikke afsluttet din strSQL. Måske er det dét?!
Avatar billede stigc Nybegynder
05. november 2000 - 20:31 #5
Det er da vist lige meget...

vis eller id er vel ikke et array?
Avatar billede stigc Nybegynder
05. november 2000 - 20:32 #6
Kør evt. CInt(vis) på din vis
Avatar billede mick Nybegynder
05. november 2000 - 20:35 #7
OK her er lidt mere kode :

Hele ideen er at jeg skal have lagt 1 til et felt i databasen.

strSQL = \"SELECT * FROM artikkel WHERE artikkelid=\" & id
Set rs = tempConn.Execute(strSQL)
vis = rs(\"visninger\")
vis = vis + 1
....
....
....
strSQL = \"UPDATE artikkel SET visninger=\" & vis & \" WHERE id=\" & id
Set rs = tempConn.Execute(strSQL)
Avatar billede mick Nybegynder
05. november 2000 - 20:36 #8
stigc> Hvad gør CInt(vis)?
Avatar billede stigc Nybegynder
05. november 2000 - 20:38 #9
der er ikke nogen fejl! Er du sikker på at fejlmeddelelsen knytter sig til denne kode?
Avatar billede stigc Nybegynder
05. november 2000 - 20:39 #10
konverter vis til Integer hvis det ikke er det i forvejen!
Avatar billede phylox2 Nybegynder
05. november 2000 - 20:41 #11
Så kan dette bruges


    strSQL = \"SELECT * FROM artikkel WHERE ID = \" & id
    rs.Open strSQL, myConn, 1, 3
    If Not (rs.BOF Or rs.EOF) Then
        rs(\"Visninger\") = rs(\"visninger\") + 1
        rs.Update
        rs.Close
    End If

Avatar billede phylox2 Nybegynder
05. november 2000 - 20:42 #12
Set rs = Server.CreateObject(\"ADODB.RecordSet\")
^^^vigtig sætning som jeg lige glemte^^^
strSQL = \"SELECT * FROM artikkel WHERE ID = \" & id
    rs.Open strSQL, myConn, 1, 3
    If Not (rs.BOF Or rs.EOF) Then
        rs(\"Visninger\") = rs(\"visninger\") + 1
        rs.Update
        rs.Close
    End If
Avatar billede erikjacobsen Ekspert
05. november 2000 - 20:45 #13
Det burde være hurtigere at

  strSQL = \"UPDATE artikkel SET visninger=visninger+1 WHERE id=\" & id

...men det løser jo egentlig ikke dit problem med syntaks. Det kan jeg ikke lige gennemskue.
Avatar billede mick Nybegynder
05. november 2000 - 21:37 #14
erik..> strSQL = \"UPDATE artikkel SET visninger=visninger+1 WHERE id=\" & id giver nøjagtig samme fejl, men ellers er dette jo en meget bedre løsning.

Jeg fatter ikke hvad problemet er, men fejlen er tydeligvis ikke i SQL spøringen.
Avatar billede sone Nybegynder
06. november 2000 - 16:16 #15
Prøv at udskriv strSQL til browseren (før Execute), så kan du måske selv se fejlen - ellers vis den til os.
Avatar billede mick Nybegynder
06. november 2000 - 19:39 #16
sone> strSQL giver følgende : UPDATE artikkel SET visninger=1 WHERE id=26

Altså umidelbart ingen fejl her.
Avatar billede stigc Nybegynder
06. november 2000 - 20:15 #17
igen:

\"der er ikke nogen fejl! Er du sikker på at fejlmeddelelsen knytter sig til denne kode? \"
Avatar billede sone Nybegynder
07. november 2000 - 08:47 #18
Jeg må nok støtte stigc !
Avatar billede mick Nybegynder
07. november 2000 - 09:22 #19
Kan der være noget galt på serveren. For nu er det ikke bare ovennævnte SQl query som ikke virker, også andre UPDATE sætninger får samme fejlmelding (og disse har virket tidligere, på samme server).
Avatar billede erikjacobsen Ekspert
07. november 2000 - 09:29 #20
Kan du lave et minimalt eksempel - udtrukket fra dit \"store\" program - der ikke virker?
Så kan du nemlig vise os hele koden, og mon så ikke vi finder ud af det?
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