Avatar billede nidyahou Praktikant
15. september 2003 - 17:08 Der er 7 kommentarer og
1 løsning

hvad er fejlen her

<%

Set Conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.recordset")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("Forum.mdb")
Conn.Open DSN

Function RemoveHTML( strInputText )

  TAGLIST = ";!--;!DOCTYPE;A;ACRONYM;ADDRESS;APPLET;AREA;BASE;BASEFONT;" &_
    "BGSOUND;BIG;BLOCKQUOTE;BODY;BUTTON;CAPTION;CENTER;CITE;CODE;" &_
    "COL;COLGROUP;COMMENT;DD;DEL;DFN;DIR;DIV;DL;DT;EM;EMBED;FIELDSET;" &_
    "FONT;FORM;FRAME;FRAMESET;HEAD;H1;H2;H3;H4;H5;H6;HR;HTML;IFRAME;IMG;" &_
    "INPUT;INS;ISINDEX;KBD;LABEL;LAYER;LAGEND;LI;LINK;LISTING;MAP;MARQUEE;" &_
    "MENU;META;NOBR;NOFRAMES;NOSCRIPT;OBJECT;OL;OPTION;P;PARAM;PLAINTEXT;" &_
    "PRE;Q;S;SAMP;SCRIPT;SELECT;SMALL;SPAN;STRIKE;STYLE;SUB;SUP;" &_
    "TABLE;TBODY;TD;TEXTAREA;TFOOT;TH;THEAD;TITLE;TR;TT;UL;VAR;WBR;XMP;" 

  Const BLOCKTAGLIST = ";APPLET;EMBED;FRAMESET;HEAD;NOFRAMES;NOSCRIPT;OBJECT;SCRIPT;STYLE;"
   
  Dim nPos1, nPos2, nPos3
  Dim strResult, strTagName, bRemove, bSearchForBlock
 
  Dim runNo, AttackLimit, strRef
 
  runNo = 1
  AttackLimit = 5
 
  strResult = strInputText
  do
    runNo = runNo + 1
    strRef = strResult
    strText = strRef
    strResult = ""

    nPos1 = InStr(strText, "<")
    Do While nPos1 > 0
      nPos2 = InStr(nPos1 + 1, strText, ">")
      If nPos2 > 0 Then
        strTagName = Mid(strText, nPos1 + 1, nPos2 - nPos1 - 1)
        strTagName = Replace(Replace(strTagName, vbCr, " "), vbLf, " ")
        nPos3 = InStr(strTagName, " ")
        If nPos3 > 0 Then
          strTagName = Left(strTagName, nPos3 - 1)
        End If
        If Left(strTagName, 1) = "/" Then
          strTagName = Mid(strTagName, 2)
          bSearchForBlock = False
        Else
          bSearchForBlock = True
        End If   
        If InStr(1, TAGLIST, ";" & strTagName & ";", vbTextCompare) > 0 Then
          bRemove = True
          If bSearchForBlock Then
            If InStr(1, BLOCKTAGLIST, ";" & strTagName & ";", vbTextCompare) > 0 Then
              nPos2 = Len(strText)
              nPos3 = InStr(nPos1 + 1, strText, "</" & strTagName, vbTextCompare)
              If nPos3 > 0 Then
                nPos3 = InStr(nPos3 + 1, strText, ">")
              End If
              If nPos3 > 0 Then
                nPos2 = nPos3
              End If
            End If
          End If
        Else
          bRemove = False
        End If
        If bRemove Then
          strResult = strResult & Left(strText, nPos1 - 1)
          strText = Mid(strText, nPos2 + 1)
        Else
          strResult = strResult & Left(strText, nPos1)
          strText = Mid(strText, nPos1 + 1)
        End If
      Else
        strResult = strResult & strText
        strText = ""
      End If
      nPos1 = InStr(strText, "<")
    Loop
    strResult = strResult & strText

  loop until (strRef = strResult) OR (runNo = AttackLimit)
 
  if (runNo >= AttackLimit) then
    strResult = "text fjernet"
  end if
  RemoveHTML = strResult
End Function

strAdmin1 = "<font color=" & Request.Form("farve") & ">"
strAdmin2 = "</font>"
strTekst2 = Request.Form("Comment")
strTekst2 = Replace(strTekst2, "'", "''")
strTekst2 = Replace(strTekst2,VbCrLf,"<br>")
strTekst1 = Request.Form("Forfatter")
strTekst1 = Replace(strTekst1, "'", "''")

' SQL sætning opbygges
strSQL="Insert into Threads (Comskriver, Comid,"
strSQL=strSQL & "Comment, Comdato, Comip)"
strSQL=strSQL & "values "
strSQL=strSQL & "('" & Server.HTMLEncode(strTekst1) & "', "
strSQL=strSQL & "'" & Request.Querystring("id") & "', "
if (session("level")) => 5 then
strSQL=strSQL & "'" & strAdmin1 & strTekst2 & strAdmin2 & "', "
else
strSQL=strSQL & "'" & RemoveHTML(strTekst2) & "', "
end if
strSQL=strSQL & "#"&Now()&"#, "
strSQL=strSQL & "'" & Request.ServerVariables("REMOTE_ADDR") & "')"

' SQL sætning eksekveres
'v fejl linien v
rs.Open strSQL, conn
%>

får denne fejl:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/lær Asp/tutorial/systemer/Nyheds/forsave.asp, line 127

får denne fejl
Avatar billede eagleeye Praktikant
15. september 2003 - 17:12 #1
Der er en forket type et sted, hvis Comid kolonnen er et tal felt skal du rette den linje:

strSQL=strSQL & "'" & Request.Querystring("id") & "', "


Til dette uden ' omkring da der ikke skal ' omkring tal felter:

strSQL=strSQL & "" & Request.Querystring("id") & ", "
Avatar billede nidyahou Praktikant
15. september 2003 - 17:18 #2
får desværre stadig samme fejl... det kan ikke være forårsaget af noget andet?
Avatar billede eagleeye Praktikant
15. september 2003 - 17:19 #3
Prøv at også at rette denne:

strSQL=strSQL & "#"&Now()&"#, "

Til denne:

strSQL=strSQL & "Now(), "
Avatar billede nidyahou Praktikant
15. september 2003 - 17:29 #4
forstår det ikke helt men den bliver ved med at melde fejl... har gevet mig selv skriverettigheder...
Avatar billede eagleeye Praktikant
15. september 2003 - 17:30 #5
hvilken fejl får du da??
Avatar billede eagleeye Praktikant
15. september 2003 - 17:31 #6
kan du ikke også skrive hvilken type hver enkelt kolonne er:
(Comskriver, Comid, Comment, Comdato, Comip)
Avatar billede nidyahou Praktikant
15. september 2003 - 17:31 #7
præcis den samme...
Avatar billede nidyahou Praktikant
15. september 2003 - 17:55 #8
fejlen lå i databasen.. tak
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel