06. maj 2004 - 10:43
Der er
47 kommentarer og 1 løsning
Hvor er fejlen ?
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement. /adm/updatenote.asp, line 10 ----------------------------------------------------------- updatenotes.asp <%@LANGUAGE="VBScript"%> <!--#include file="connect.asp"--> <% SQL = "UPDATE notes Set id = '" & Request.QueryString("id") & "', " SQL = SQL & "titel = '" & request.form("titel") & "', " SQL = SQL & "tekst = '" & request.form("tekst") & "', " SQL = SQL & "WHERE id = " & Request.QueryString("id") Myconn.Execute(SQL) Response.Redirect("adminnotes.asp") %> --------------------------------------------------- Linie der kalder updatenotes.asp <a href="retnote.asp?id=<%=data("id")%>"><img src="edit.gif" border="0"></a> --------------------------------------------------- Hvor ligger fejlen ?
Annonceindlæg fra Barco
Prøv sådan: SQL = "UPDATE [notes] Set id = '" & Request.QueryString("id") & "', " SQL = SQL & "titel = '" & request.form("titel") & "', " SQL = SQL & "tekst = '" & request.form("tekst") & "', " SQL = SQL & "WHERE id = " & Request.QueryString("id") Myconn.Execute(SQL) eller SQL = "UPDATE [notes] Set id = '" & Request.QueryString("id") & "', " SQL = SQL & "titel = '" & request.form("titel") & "', " SQL = SQL & "[tekst] = '" & request.form("tekst") & "', " SQL = SQL & "WHERE id = " & Request.QueryString("id") Myconn.Execute(SQL) //>Rune
Er id ikke et autogeneret id-nummer? Så skal du ikke opdatere feltet id.
det kunne også være at id er et autonummer..... SQL = "UPDATE [notes] Set " SQL = SQL & "titel = '" & request.form("titel") & "', " SQL = SQL & "[tekst] = '" & request.form("tekst") & "', " SQL = SQL & "WHERE id = " & Request.QueryString("id") Myconn.Execute(SQL)
>> fet321 denne gang var jeg for langsom :o)
Ingen af dem virker... ???
Prøv lgie at fortæl hvad det er du vil...
Hvordan ser din formular ud? Du skal også have id med fra formen, når du submitter den.
Jeg vil opdatere [titel] og [tekst] igennem den her ::: <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="50%" STYLE="border-collapse : collapse"> <FORM ACTION="updatenote.asp?id=<%=Request.Querystring("id")%>" METHOD="POST"> <TR> <TD WIDTH="80%"> <b><FONT SIZE="2" FACE="Verdana" COLOR="#000"><br><% = data.Fields ("titel")%></FONT></b> </TD> </TR> <TR> <TD bgcolor="#E0E0E0"> <table width="100%" STYLE="border-collapse : collapse"> <tr> <td colspan="2" style="border-left:solid 1px black;" style="border-right:solid 1px black;"style="border-top:solid 1px black;"> <font size="1">Ret nyhed nr. <% = data.Fields ("id")%></font> </td> </tr> <tr> <td colspan="2" style="border-left:solid 1px black;" style="border-right:solid 1px black;"> <input class="felt" type="text" name="titel" value="<% = data.Fields ("titel")%>" size="25"> </td> </tr> <tr> <td colspan="2" style="border-left:solid 1px black;" style="border-right:solid 1px black;"> <textarea class="felt" name="titel" rows="6" cols="30"><% = data.Fields ("tekst")%></textarea> </td> </tr> <tr> <td width="60%" style="border-left:solid 1px black;" style="border-bottom:solid 1px black;"> </td> <td width="40%" style="border-right:solid 1px black;" style="border-bottom:solid 1px black;"> <INPUT class="text" TYPE="SUBMIT" NAME="Submit" VALUE="Opdatér"> </td> </tr> </table>
Prøv evt. sådan her: SQL = "UPDATE [notes] SET " SQL = SQL & "[titel] = '" & request.form("titel") & "', " SQL = SQL & "[tekst] = '" & request.form("tekst") & "', " SQL = SQL & "WHERE id = " & CInt(Request.QueryString("id")) Myconn.Execute(SQL) Og hvilken fejl kommer der nu? //>Rune
'SQL = "UPDATE [notes] Set " 'SQL = SQL & "titel = '" & request.form("titel") & "', " 'SQL = SQL & "[tekst] = '" & request.form("tekst") & "', " 'SQL = SQL & "WHERE id = " & Request.QueryString("id") 'Myconn.Execute(SQL) response.write Request.QueryString("id") response.write request.form("titel") response.write request.form("tekst") Pröv at skrive dine variabler ud og se om du får dem med.
Evt, sådan her: SQL = "UPDATE [notes] SET " SQL = SQL & "[titel] = '" & Replace(request.form("titel"),"'","''") & "', " SQL = SQL & "[tekst] = '" & Replace(request.form("tekst"), "'", "''") & "', " SQL = SQL & "WHERE id = " & CInt(Request.QueryString("id")) Myconn.Execute(SQL) //>Rune
medions : Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement. /adm/updatenote.asp, line 10
jps6kb >> har du prøvet at lave en response.write Request.QueryString("id") ?
Jeg har også en dato-post og en tid-post, men det skal kun skrives når man opretter og IKKE når man retter...
Pröv at höjreklikke på mappen hvor databasen er og giv rettigheder til IUSER
Er der rettigheder. Har andre scripts der bruger den... jeg kan også fint oprette og slette i den vha. ASP-scripts. Kun den her update der skodder.
... mente s'følig at der ER rettigheder... ;)
Det er altid UPDATE-statement der ikke fungerer når der ikke er rettigheder, så det er nok der fejlen er.
Hmm... k... har ik' lige et desideret FTP program... hvordan kan jeg ellers gøre det ? Bruger bare xplorer...
Nej... hosted ved Concor...
Ja,så burde der jo väre rettigheder, ellers kan du bruge explorer som ftp-program.
ftp://adresse
Den virker helt fint... har ikke haft problemer med explorer...
OK, men nu tilbage til det relevante: Hvad udskriver din request.querystring("id")?
*G* Nåeh ja... Hvor vil du ha' jeg skriver det ?
Se kommentar: 06/05-2004 10:56:02
Den er go' nok ... det er den... der står også id'en ved den formular jeg retter i... Skal jeg skrive det i updatenote.asp ??? Ka' du ikke lige skrive hele koden så, for det andet ga' ikke noget.
Glem ikke at avkommenterer response.redirect.
response.write Request.QueryString("id") response.write request.form("titel") response.write request.form("tekst") Det skriver du i updatenote.asp, og så sätter du en ' foran resten.
Resultat : 17Min titel herNoget brødtekst her... Det er rigtigt...
Ja, men så må det jo også være min update der er noget galt med... kan bare ikke lige lure hvad ???
Så vidt jeg kan se har du et komma lige før where clausen. Væk med det.
dim strId,strTitel,strTekst strId=Request.QueryString("id") strTitel=request.form("titel") strTekst=request.form("tekst") SQL = "UPDATE notes SET titel = '" & strTitel & "',tekst='" & strTekst & "' where id=" & strId
michael : Det virker !! Smid et svar ;) How come det andet ikke virker ?? Plejer det da at gøre ??
Som knico sagde så var der et komma for meget, men det så jeg ikke da jeg skrev min SQL-String, men det er lettere at overskue hvis man ikke laver lineshift. Men jeg er glad for at det virker.
Jeg ser... men mange tak for deltagelse alle sammen :o)
Så havde jeg bare skrevet sql-stringen fra starten så havde det virket med det samme, men jeg troede de andre havde kikket efter fejl i stringen. Hvad kan man så läre af det: "stol aldrig på andre end dig selv" ;o)
Nå tak...man finder fejlen, men afvises. Tsk.
HUH? Sorry... my bad... *G* Jeg opretter lige et spm. med point til dig... ;)
Du kan få halvdelen knico.
Jeg er ikke her for at tjene point ;o)
Kurser inden for grundlæggende programmering