Avatar billede totalpc Seniormester
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?
Avatar billede softspot Forsker
23. maj 2008 - 12:58 #1
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 ;-)).
Avatar billede w13 Novice
23. maj 2008 - 13:06 #2
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. =)
Avatar billede softspot Forsker
23. maj 2008 - 13:19 #3
Faktisk bør du ændre det til utf-8, da FCKEditor kører med utf-8...
Avatar billede w13 Novice
23. maj 2008 - 13:23 #4
Men det vil så også kræve, at dokumentet skal gemmes med UTF-8 encoding.
Avatar billede totalpc Seniormester
23. maj 2008 - 13:49 #5
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
Avatar billede totalpc Seniormester
23. maj 2008 - 14:12 #6
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
Avatar billede w13 Novice
23. maj 2008 - 14:13 #7
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?
Avatar billede w13 Novice
23. maj 2008 - 14:14 #8
Og jeg hjalp jo ikke, så jeg skal vel ikke smide svar. =)
Avatar billede totalpc Seniormester
23. maj 2008 - 14:16 #9
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 :)
Avatar billede w13 Novice
23. maj 2008 - 14:20 #10
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")
Avatar billede softspot Forsker
23. maj 2008 - 14:24 #11
:)
Avatar billede totalpc Seniormester
23. maj 2008 - 14:24 #12
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
Avatar billede w13 Novice
23. maj 2008 - 14:27 #13
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")
Avatar billede totalpc Seniormester
23. maj 2008 - 14:29 #14
Tak skal I have begge 2
Avatar billede w13 Novice
23. maj 2008 - 14:35 #15
Og tak for point! :)
Avatar billede softspot Forsker
23. maj 2008 - 14:41 #16
Tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester