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