UPDATE-Anweisung (ASP/SQL) - Was mache ich falsch?
Christian Huff
- datenbank
Das ist der Fehler:
Microsoft OLE DB Provider for ODBC Drivers-Fehler '80040e14'
[Microsoft][ODBC Microsoft Access 97 -Treiber] Syntaxfehler in UPDATE-Anweisung.
/dw/user\_update.asp, Zeile 34 <- Also da wo die Update-Anweisung ist!
Das ist der Quellcode:
-In der ASP-Datei (user_update.asp):
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "UID=;PWD=;DSN=DRAGONDB"
useTXT=Request.Form("text")
useID=Request.Form("ID")
rem Sonderzeichenfilter Anfang
useTXT=Replace(useTXT, vbCrLf, "<br>")
useTXT=Replace(useTXT, "'", "@²³@")
useTXT=Replace(useTXT, "&", "^^^@@@")
rem Sonderzeichenfilter Ende
useSQL="UPDATE Mitglieder SET text='"&useTXT&"' WHERE ID="&useID
Conn.Execute( useSQL )
-Im HTML-Formular:
<form method="post" action="user_update.asp">
<table border="0" cellspacing="0" cellpadding="4">
<tr>
<td><b>Selbsbeschreibung:</b><br>
<textarea class="usr_txt" name="text" rows="4" wrap>keine Beschreibung</textarea>
</td>
</tr>
</table>
<input type="hidden" value="3" name="ID">
<input type="reset" value="Zurücksetzen!"></td><td><input type="submit" value="Updaten!">
</form>
Die Datenbank (DRAGONDB) ist via ODBC ans System angebunden und funktioniert einwandfrei (PWS d.h. IIS4, Windows 98). In der Datenbank (MS Access 97) ist das Feld 'text' als Memo-Feld deklariert, mit dem Standard-Wert "keine Beschreibung", Eingabe nicht erforderlich, keine leere Zeichenfolge. Mir ist es noch nich gelungen, eine Update-Anweisung auf ein Memo-Feld anzuwenden... Hilfe!
Das ist der Fehler:
»» Microsoft OLE DB Provider for ODBC Drivers-Fehler '80040e14'
»» [Microsoft][ODBC Microsoft Access 97 -Treiber] Syntaxfehler in UPDATE-Anweisung.
»» /dw/user_update.asp, Zeile 34 <- Also da wo die Update-Anweisung ist!
Das ist der Quellcode:
-In der ASP-Datei (user_update.asp):
»» Set Conn = Server.CreateObject("ADODB.Connection")
»» Conn.Open "UID=;PWD=;DSN=DRAGONDB"
»» useTXT=Request.Form("text")
»» useID=Request.Form("ID")
»» rem Sonderzeichenfilter Anfang
useTXT=Replace(useTXT, vbCrLf, "
")
useTXT=Replace(useTXT, "'", "@²³@")
useTXT=Replace(useTXT, "&", "^^^@@@")
»» rem Sonderzeichenfilter Ende
»» useSQL="UPDATE Mitglieder SET text='"&useTXT&"' WHERE
das statement sollte folgendermassen aussehen:
useSQL="UPDATE Mitglieder SET text="
useSQL= useSQL & """
useSQL=useSQL & useTXT
useSQL= useSQL & """
useSQL= useSQL & "WHERE balabla"
das kann man natürlich auch schöner schreiben,
ich hab das gemacht wegen dem ' - "
dann sollte es gehen.
Gruss
Christian W.
Das ist der Fehler:
»» Microsoft OLE DB Provider for ODBC Drivers-Fehler '80040e14'
»» [Microsoft][ODBC Microsoft Access 97 -Treiber] Syntaxfehler in UPDATE-Anweisung.
»» /dw/user_update.asp, Zeile 34 <- Also da wo die Update-Anweisung ist!
Das ist der Quellcode:
-In der ASP-Datei (user_update.asp):
»» Set Conn = Server.CreateObject("ADODB.Connection")
»» Conn.Open "UID=;PWD=;DSN=DRAGONDB"»» useTXT=Request.Form("text")
»» useID=Request.Form("ID")»» rem Sonderzeichenfilter Anfang
useTXT=Replace(useTXT, vbCrLf, "
")
useTXT=Replace(useTXT, "'", "@²³@")
useTXT=Replace(useTXT, "&", "^^^@@@")
»» rem Sonderzeichenfilter Ende»» useSQL="UPDATE Mitglieder SET text='"&useTXT&"' WHERE
das statement sollte folgendermassen aussehen:
useSQL="UPDATE Mitglieder SET text="
useSQL= useSQL & """
useSQL=useSQL & useTXT
useSQL= useSQL & """
useSQL= useSQL & "WHERE balabla"
das kann man natürlich auch schöner schreiben,
ich hab das gemacht wegen dem ' - "
dann sollte es gehen.
Gruss
Christian W.
danke, werde es versuchen.