/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Fejl i UPDATE-kommandoen
Fra : Snoop [ZoP.dk]


Dato : 25-01-01 17:00

Jeg har en side, hvor der bliver udfyldt 2 forms (forma & formb) desuden er
der en formid som indeholder ID. Men når den skal opdateres med denne fil,
kommer der en fejl (Microsoft OLE DB Provider for ODBC Drivers fejl
'80040e14' [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i
UPDATE-sætningen) i linie 18 (rs.Open sqlstmt, conn, 3, 3)

<%
usertable = Session("Userid")
sqlstmt = "UPDATE " & usertable & " SET a = '" & request.form("forma") &"'"
&","
sqlstmt = sqlstmt & ", b='" & request.form("formb") & "',"
sqlstmt = sqlstmt & "WHERE id='" & request.form("formid") &"';"

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sqlstmt, conn, 3, 3
Response.write("<meta http-equiv='refresh'
content='0;URL=../default_left.asp'>")
%>

Jeg kan ikke umidlbart se en fejl deri, men den fungere ihvertfal ikke.

/Snoop



 
 
Lauritz Jensen (25-01-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 25-01-01 17:17

"Snoop [ZoP.dk]" wrote:
>
> Jeg har en side, hvor der bliver udfyldt 2 forms (forma & formb) desuden er
> der en formid som indeholder ID. Men når den skal opdateres med denne fil,
> kommer der en fejl (Microsoft OLE DB Provider for ODBC Drivers fejl
> '80040e14' [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i
> UPDATE-sætningen) i linie 18 (rs.Open sqlstmt, conn, 3, 3)

Måske ville det være en god ide at fjerne kommaet sidst i denne linie:
> sqlstmt = sqlstmt & ", b='" & request.form("formb") & "',"
og semikolonet sidst i denne:
> sqlstmt = sqlstmt & "WHERE id='" & request.form("formid") &"';"
og da det er en update er der ikke nogen grund til at spilde et
recordset i denne linie: (Brug "conn.execute" istedet)
> rs.Open sqlstmt, conn, 3, 3

--
Lauritz

Snoop [ZoP.dk] (27-01-2001)
Kommentar
Fra : Snoop [ZoP.dk]


Dato : 27-01-01 18:20

Jeg har lige prøvet det du foreslog, men det fungere heller ikke. Men jeg
tor fejlen ligge i WHERE kommandoen. Men hvis man kunne lave en session i
starten af siden, som indeholder formid, og er der, hvor den skal opdateres.
Men hvordan er det nemmest at lave denne session? På denne updateside, eller
den foregående side, med formularen på?

/Snoop

"Lauritz Jensen" <lauritz2@hotmail.com> skrev i en meddelelse
news:3A705181.55EB70A1@hotmail.com...
> "Snoop [ZoP.dk]" wrote:
> >
> > Jeg har en side, hvor der bliver udfyldt 2 forms (forma & formb) desuden
er
> > der en formid som indeholder ID. Men når den skal opdateres med denne
fil,
> > kommer der en fejl (Microsoft OLE DB Provider for ODBC Drivers fejl
> > '80040e14' [Microsoft][ODBC Microsoft Access-driver] Der er en
syntaksfejl i
> > UPDATE-sætningen) i linie 18 (rs.Open sqlstmt, conn, 3, 3)
>
> Måske ville det være en god ide at fjerne kommaet sidst i denne linie:
> > sqlstmt = sqlstmt & ", b='" & request.form("formb") & "',"
> og semikolonet sidst i denne:
> > sqlstmt = sqlstmt & "WHERE id='" & request.form("formid") &"';"
> og da det er en update er der ikke nogen grund til at spilde et
> recordset i denne linie: (Brug "conn.execute" istedet)
> > rs.Open sqlstmt, conn, 3, 3
>
> --
> Lauritz



Lauritz Jensen (27-01-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 27-01-01 18:20

"Snoop [ZoP.dk]" wrote:
>
> "Lauritz Jensen" <lauritz2@hotmail.com> skrev i en meddelelse
> news:3A705181.55EB70A1@hotmail.com...
> > "Snoop [ZoP.dk]" wrote:
> > >
> > > Jeg har en side, hvor der bliver udfyldt 2 forms (forma & formb)
> > > desuden er der en formid som indeholder ID. Men når den skal
> > > opdateres med denne fil, kommer der en fejl (Microsoft OLE DB
> > > Provider for ODBC Drivers fejl '80040e14' [Microsoft][ODBC
> > > Microsoft Access-driver] Der er en syntaksfejl i
> > > UPDATE-sætningen) i linie 18 (rs.Open sqlstmt, conn, 3, 3)
> >
> > Måske ville det være en god ide at fjerne kommaet sidst i denne
> > linie:
> > > sqlstmt = sqlstmt & ", b='" & request.form("formb") & "',"
> > og semikolonet sidst i denne:
> > > sqlstmt = sqlstmt & "WHERE id='" & request.form("formid") &"';"
> > og da det er en update er der ikke nogen grund til at spilde et
> > recordset i denne linie: (Brug "conn.execute" istedet)
> > > rs.Open sqlstmt, conn, 3, 3
> >
>
> Jeg har lige prøvet det du foreslog, men det fungere heller ikke.
> Men jeg tor fejlen ligge i WHERE kommandoen.

Prøv at bruge response.write til at skrive den færdige sql ud (dvs. lige
inden du eksekverer den) og paste den ind i en forespørgsel i access, så
får du en bedre beskrivelse af hvad der er galt.

> Men hvis man kunne lave en session i starten af siden, som
> indeholder formid, og er der, hvor den skal opdateres. Men
> hvordan er det nemmest at lave denne session? På denne
> updateside, eller den foregående side, med formularen på?

Hvorfor skal der blandes en session variabel ind i det?

--
Lauritz

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408868
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste