23. maj 2008 - 12:51
Der er
14 kommentarer og 2 løsninger
Type mismatch: 'Server.HTMLEncode'
Hej Jeg bruger FCKEditor til at gemme noget indtastning med. Så nu vil jeg gerne editere data med FCKEditor. Det gør jeg således : <% blogid = request.querystring("id") Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("familiencaroe.mdb") Conn.Open DSN strSQL = "SELECT * FROM blog where id=" & blogid Set rs = Conn.Execute(strSQL) %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <style type="text/css"> .style1 { text-align: center; } .style2 { text-align: left; } </style> </head> <body BGCOLOR="#E6E6E6"> <form action="gem_blog.asp" method="post"> <div class="style1"> <!-- #INCLUDE file="FCKeditor/fckeditor.asp" --> <table style="width: 80%"> <tr> <td class="style3">Overskrift</td> </tr> <tr> <td class="style2"><input name="overskrift" type="text" size="40" value="<%=rs("overskrift")%>"></td> </tr> </table> <table style="width: 80%"> <tr> <td class="style3">Tekst</td> </tr> <tr> <td> <% Dim oFCKeditor Set oFCKeditor = New FCKeditor oFCKeditor.Value = Rs("Tekst") oFCKeditor.BasePath = "/FCKeditor/" oFCKeditor.Create "FCKeditor1" %> </td> </tr> </table> <br> <% rs.Close Set rs = Nothing %> <INPUT TYPE="image" SRC="grafik/send.jpg" VALUE="Submit" ALT="Login" NAME="login"> </div> </form> </body> </html> men det giver fejlen : Tekst Microsoft VBScript runtime error '800a000d' Type mismatch: 'Server.HTMLEncode' /FCKeditor/fckeditor.asp, line 106 Nogle ideer?
Annonceindlæg fra Cepheo
Prøv lige at ændre denne linie: oFCKeditor.Value = Rs("Tekst") til: oFCKeditor.Value = Rs("Tekst") & "" Det er ikke sikkert det løser problemet, men hvis tekst er null i resultatet, kunne jeg forstille mig at HTMLEncode ikke fatter det... du kommer udenom dette ved at lave en streng-konvertering (et gængs hack til at skifte type fra null til en tom streng ;-)).
Og så synes jeg også, du burde ændre: windows-1252 til: iso-8859-1 Et charset, der kun er beregnet til windows, er ikke så optimalt. =)
Faktisk bør du ændre det til utf-8, da FCKEditor kører med utf-8...
Men det vil så også kræve, at dokumentet skal gemmes med UTF-8 encoding.
softspot > Det virker fint. Takker. Smid svar w13 > Det har I garanteret begge ret i. Jeg har haft store problemer med de charset specielt indtil jeg fandt ud af at ultraedit gemte i andet format end jeg regnede med. Så det vil jeg lege med når resten af siden virker. Takker begge 2
Tillægsspgm når I smider et svar ;) strSQL = "Insert into blog (overskrift,tekst,forfatter) values('" & Request.Form("overskrift") & "','" & Request.Form("FCKeditor1") & "','" & gembrugernavn & "') Where ID="& request.form("blogid")&"" Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Missing semicolon (;) at end of SQL statement. /gem_edit_blog.asp, line 17
Prøv lige: strSQL = "Insert into blog (overskrift,tekst,forfatter) values('" & Request.Form("overskrift") & "','" & Request.Form("FCKeditor1") & "','" & gembrugernavn & "') Where ID="& request.form("blogid") Response.Write(strSQL) Hvad skriver den så på skærmen?
Og jeg hjalp jo ikke, så jeg skal vel ikke smide svar. =)
Insert into blog (overskrift,tekst,forfatter) values('Ny hjemmeside',' Teksten ','') Where ID=121 Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Missing semicolon (;) at end of SQL statement. /gem_edit_blog.asp, line 18 Du hjælper jo nu :)
Nå ja, selvfølgelig. INSERT INTO opretter et nyt recordsæt i databasen - derfor kan du ikke sige "WHERE id=121". Du vil opdatere et recordsæt i databasen, så derfor skal du bruge UPDATE: strSQL = "UPDATE blog SET overskrift='" & Request.Form("overskrift") & "',tekst='" & Request.Form("FCKeditor1") & "',forfatter='" & gembrugernavn & "') Where ID="& request.form("blogid")
Nå ja... selvfølgelig..det var en smutter. Men der er stadig fejl! UPDATE blog SET overskrift='Ny hjemmeside1',tekst=' Kristian ',forfatter='Kristian') Where ID=121 Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Extra ) in query expression ''Kristian')'. /gem_edit_blog.asp, line 18
Sry, jeg havde glemt at fjerne den afsluttende parentes: strSQL = "UPDATE blog SET overskrift='" & Request.Form("overskrift") & "',tekst='" & Request.Form("FCKeditor1") & "',forfatter='" & gembrugernavn & "' Where ID="& request.form("blogid")
Kurser inden for grundlæggende programmering