Avatar billede isaac Nybegynder
01. august 2003 - 18:37 Der er 5 kommentarer og
1 løsning

Koderne driller?

Jeg har prøvet at indføre MySQL feltet "bemerkning", men denne fejl kommer:
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near 'er udkommer først d. 5. aug.', aktiv = 1 WHERE gruppeID = 10' at line 1

/admin.asp, line 1054


Er der ikke en eller anden som gider gå i gennem koderne og se hvad jeg gør forkert?


----------------------------------


case "konkurrencesiden"
 
  submode=Request.QueryString("submode")
  if submode = "" then submode = "list"
 
  select case submode
  case "list"

    Set conn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.recordset")
    Conn.Open tempConn
 
    SQL = "select * from spmGruppe order by gruppeID desc"
    Set rs = Conn.Execute(SQL)
 
    Response.Write "<center><table><tr>"
    Response.Write "<td>ID&nbsp;&nbsp;&nbsp;</td><td>navn</td>"
    Response.Write "<td>Test</td>"
    Response.Write "<td>Ret</td>"
    Response.Write "</tr>"

    do while not rs.EOF
      Response.Write "<tr>"
      Response.Write "<td>" & rs("gruppeID") & "</td>"
      Response.Write "<td>" & rs("spmGruppeNavn") & "</td>"
      Response.Write "<td><a href=""/kon/default.asp?testthis=visfortest&ID=" & rs("gruppeID") & """>Test</a></td>"
      Response.Write "<td><a href=""" & adminFilNavn & "?mode=konkurrencesiden&submode=add&ID=" & rs("gruppeID") & """>Ret</a></td>"
      Response.Write "</tr>"
      rs.MoveNext
    loop
    Response.Write "</table>"
 
    Response.Write "<br><br>"
    Response.Write "<a href=""" & adminFilNavn & "?mode=konkurrencesiden&submode=add"">Tilføj konkurrence</a>"
    Response.Write " | "
    Response.Write "<a href=""" & adminFilNavn & "?mode=konkurrencesiden&submode=addpraemie"">Tilføj præmie</a>"
    Response.Write " | "
    Response.Write "<a href=""" & adminFilNavn & """>Tilbage</a>"
    Response.Write "</center>"
   
    Conn.Close
    Set Conn = Nothing
 
  case "add"
    id = Request("ID")

    Set conn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.recordset")
    Conn.Open tempConn

    str10 = ",,,,,,,,,"
    arrSpm = split(str10, ",")
    arrSvar = split(str10, ",")
    if id <> "" then
      SQL = "select * from spmGruppe where gruppeID=" & id
      Set rs = Conn.Execute(SQL)
     
      spmGruppeNavn = rs("spmGruppeNavn")
      sponsorNavn = rs("sponsorNavn")
      sponsorWWW = rs("sponsorWWW")
      sponsorBillede = rs("sponsorBillede")
      startDato = rs("startDato")
      slutDato = rs("slutDato")
      valg = rs("valg")
      bemerkning = rs("bemerkning")
      aktiv = rs("aktiv")
     
      SQL = "select * from spmTabel where spmGruppeId=" & id
      Set rs = Conn.Execute(SQL)
      i = 0
      do while not rs.EOF
        arrSpm(i) = rs("spmText")
        arrSvar(i) = rs("spmSvar")
        i = i + 1
        rs.Movenext
      loop
    End If
%><center>
<form method="POST" action="<%=adminFilNavn%>?mode=konkurrencesiden&submode=
<% if id = "" then
  Response.Write "gem"
else
  Response.Write "opdater&ID=" & id
end if %>
">

<table>
  <tr><td><b>Sponser</b></td><td><b>Tekst</b></td></tr>

  <tr><td>Sponsor</td>
    <td><input type="text" size="50" name="sponsorNavn" value="<%=sponsorNavn%>">
    </td></tr>

  <tr><td>Link</td>
    <td><input type="text" size="50" name="wwwSponsorAdr" value="<%=sponsorWWW%>">
    </td></tr>

  <tr><td>Sponsor Billede</td>
    <td><input type="text" size="50" name="sponsorBillede" value="<%=sponsorBillede%>">
    </td></tr>

  <tr><td><b>konkurrence Data</b></td><td><b></b></td></tr>
  <tr><td>Gruppe Navn</td>
    <td><input type="text" size="50" name="spmGruppe" value="<%=spmGruppeNavn%>"></td>
  </tr>

  <tr><td>Start Dato (dd-mm-yyyy)</td>
    <td><input type="text" size="50" name="startDato" value="<%=startDato%>"></td>
  </tr>

  <tr><td>Slut Dato (dd-mm-yyyy)</td>
    <td><input type="text" size="50" name="slutDato" value="<%=slutDato%>"></td>
  </tr>

  <tr><td><b>Spørgsmål</b></td><td><b>Svar mulighed</b></td></tr>
  <tr><td><input type="text" size="50" name="spm1" value="<%=arrSpm(0)%>"></td>
    <td>Ja <input type="Radio" name="1" value="1"
<% if CStr(""&arrSvar(0)) = "1" then Response.Write " CHECKED " %>
>
        Nej <input type="Radio" name="1" value="0"
<% if CStr(""&arrSvar(0)) = "0" then Response.Write " CHECKED " %>
>
    </td></tr>
 
  <tr><td><input type="text" size="50" name="spm2" value="<%=arrSpm(1)%>"></td>
    <td>Ja <input type="Radio" name="2" value="1"
<% if CStr(""&arrSvar(1)) = "1" then Response.Write " CHECKED " %>
>
        Nej <input type="Radio" name="2" value="0"
<% if CStr(""&arrSvar(1)) = "0" then Response.Write " CHECKED " %>
>    </td></tr>

  <tr><td><input type="text" size="50" name="spm3" value="<%=arrSpm(2)%>"></td>
    <td>Ja <input type="Radio" name="3" value="1"
<% if CStr(""&arrSvar(2)) = "1" then Response.Write " CHECKED " %>
>
        Nej <input type="Radio" name="3" value="0"
<% if CStr(""&arrSvar(2)) = "0" then Response.Write " CHECKED " %>
>    </td></tr>

  <tr><td><input type="text" size="50" name="spm4" value="<%=arrSpm(3)%>"></td>
    <td>Ja <input type="Radio" name="4" value="1"
<% if CStr(""&arrSvar(3)) = "1" then Response.Write " CHECKED " %>
>
        Nej <input type="Radio" name="4" value="0"
<% if CStr(""&arrSvar(3)) = "0" then Response.Write " CHECKED " %>
>    </td></tr>

  <tr><td><input type="text" size="50" name="spm5" value="<%=arrSpm(4)%>"></td>
    <td>Ja <input type="Radio" name="5" value="1"
<% if CStr(""&arrSvar(4)) = "1" then Response.Write " CHECKED " %>
>
        Nej <input type="Radio" name="5" value="0"
<% if CStr(""&arrSvar(4)) = "0" then Response.Write " CHECKED " %>
>    </td></tr>

  <tr><td><input type="text" size="50" name="spm6" value="<%=arrSpm(5)%>"></td>
    <td>Ja <input type="Radio" name="6" value="1"
<% if CStr(""&arrSvar(5)) = "1" then Response.Write " CHECKED " %>
>
        Nej <input type="Radio" name="6" value="0"
<% if CStr(""&arrSvar(5)) = "0" then Response.Write " CHECKED " %>
>    </td></tr>

  <tr><td><input type="text" size="50" name="spm7" value="<%=arrSpm(6)%>"></td>
    <td>Ja <input type="Radio" name="7" value="1"
<% if CStr(""&arrSvar(6)) = "1" then Response.Write " CHECKED " %>
>
        Nej <input type="Radio" name="7" value="0"
<% if CStr(""&arrSvar(6)) = "0" then Response.Write " CHECKED " %>
>    </td></tr>

  <tr><td><input type="text" size="50" name="spm8" value="<%=arrSpm(7)%>"></td>
    <td>Ja <input type="Radio" name="8" value="1"
<% if CStr(""&arrSvar(7)) = "1" then Response.Write " CHECKED " %>
>
        Nej <input type="Radio" name="8" value="0"
<% if CStr(""&arrSvar(7)) = "0" then Response.Write " CHECKED " %>
>    </td></tr>

  <tr><td><input type="text" size="50" name="spm9" value="<%=arrSpm(8)%>"></td>
    <td>Ja <input type="Radio" name="9" value="1"
<% if CStr(""&arrSvar(8)) = "1" then Response.Write " CHECKED " %>
>
        Nej <input type="Radio" name="9" value="0"
<% if CStr(""&arrSvar(8)) = "0" then Response.Write " CHECKED " %>
>    </td></tr>

  <tr><td><input type="text" size="50" name="spm10" value="<%=arrSpm(9)%>"></td>
    <td>Ja <input type="Radio" name="10" value="1"
<% if CStr(""&arrSvar(9)) = "1" then Response.Write " CHECKED " %>
>
        Nej <input type="Radio" name="10" value="0"
<% if CStr(""&arrSvar(9)) = "0" then Response.Write " CHECKED " %>
>    </td></tr>


  <tr><td>Valg-muligheder til "Jeg forstækker":<br> (adskil med ; max 100 karakter)</td>
    <td><input type="text" size="50" maxlength="100" name="valg" value="<%=valg%>"></td>
  </tr>
  </tr>

  <tr><td>Bemærkninger</td>
    <td><input type="text" size="50" name="bemerkning" value="<%=bemerkning%>"></td>
  </tr>

  <tr><td>Skal konkurrencen være aktiv:</td><td><input type="checkbox" name="aktiv" value="ok"
<% if CStr(""&aktiv) = "1" then Response.Write " CHECKED " %>
></td></tr>
 
  <tr><td> </td><td><input type="submit" name="Gem" value="Gem"></td></tr>
  <tr><td colspan=2>Note: Udfyld alle felter!!</td></tr>
</table>
</form>
</center>
<%

  case "addpraemie"
%>
<center>
<form method="POST" action="<%=adminFilNavn%>?mode=konkurrencesiden&submode=gempraemie">
<table>
  <tr><td>Præmie</td>
    <td><input type="text" size="50" name="premieNavn">
    </td></tr>

  <tr><td>Præmie billede</td>
    <td><input type="text" size="50" name="premieBillede">
    </td></tr>

  <tr><td>Overskrift</td>
    <td><input type="text" size="50" name="premieOverskrift">
    </td></tr>
   
  <tr><td>Til Konkurrence</td>
    <td><select name="premieKonkurrence">
<% 
    Set conn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.recordset")
    Conn.Open tempConn

    SQL = "select gruppeID, spmGruppeNavn from spmGruppe order by gruppeID desc"
    Set rs = Conn.Execute(SQL)
 
    do while not rs.EOF
      Response.Write "<option value=""" & rs("gruppeID") & """>" & rs("spmGruppeNavn") & "</option>"
      rs.MoveNext
    loop
   
    Conn.Close
    Set Conn = Nothing
%>
    </select>
    </td></tr>

  <tr><td> </td><td><input type="submit" name="Gem" value="Gem"></td></tr>
  <tr><td colspan="2">Note: Udfyld alle felter!!</td></tr>
</table>
</form>

</center>

<%
 
  case "gem"
    Set conn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.recordset")
    Conn.Open tempConn
 
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
      spmGruppeNavn = Request.Form("spmGruppe")
      sponsorNavn = Request.Form("sponsorNavn")
      sponsorWWW = Request.Form("wwwSponsorAdr")
      sponsorBillede = Request.Form("sponsorBillede")
      startDato = Dato(Request.Form("startDato"))
      slutDato = Dato(Request.Form("slutDato"))
      valg = Request.Form("valg")
      bemerkning = Request.Form("bemerkning")
      aktiv = Request.Form("aktiv")
      if aktiv = "" then
        aktiv = 0
      else
        aktiv = 1
      end if
     
      strSQL = "INSERT INTO spmGruppe (spmGruppeNavn,sponsorNavn,sponsorWWW,sponsorBillede,"
      strSQL = strSQL & "startDato,slutDato,valg,bemerkning,aktiv) VALUES ("
      strSQL = strSQL & "'" & spmGruppeNavn & "',"
      strSQL = strSQL & "'" & sponsorNavn & "',"
      strSQL = strSQL & "'" & sponsorWWW & "',"
      strSQL = strSQL & "'" & sponsorBillede & "',"
      if DATABASE_TYPE = "MySQL" then
        strSQL = strSQL & "'" & startDato & "',"
        strSQL = strSQL & "'" & slutDato & "',"
      else 
        strSQL = strSQL & "#" & startDato & "#,"
        strSQL = strSQL & "#" & slutDato & "#,"
      end if
      strSQL = strSQL & "'" & valg & "',"
      strSQL = strSQL & "'" & bemerkning & "',"
      strSQL = strSQL & "" & aktiv & ""
      strSQL = strSQL & ");"
'  Response.Write strSQL
      Conn.execute(strSQL)
 
'Find den nye gruppe
      if DATABASE_TYPE = "MySQL" then
        strSQL = "SELECT * FROM spmGruppe ORDER BY gruppeID DESC LIMIT 0,1;"
      else
        strSQL = "SELECT TOP 1 * FROM spmGruppe ORDER BY gruppeID DESC;"
      end if
      set rs = conn.execute(strSQL)
      gruppeID = rs("gruppeID")

'Indsæt spørgsmålene i den nye gruppe 
      for i = 1 to 10
        spmText = replace(Request.Form("spm"&i),"'","''")
        spmSvar = Request.Form("" & i)

        if spmText <> "" and spmSvar <> "" then
          strSQL = "insert into spmTabel (spmGruppeId,spmText,spmSvar) VALUES ("
          strSQL = strSQL & "" & gruppeID & ", "
          strSQL = strSQL & "'" & spmText & "', "
          strSQL = strSQL & "" & spmSvar & ")"
'          Response.Write strSQL & "<br>"
          Conn.execute(strSQL)
        end if
      next
     
'Så er den nye konkurrence lagt ind. 
    End If

    Conn.Close
    Set Conn = Nothing

    Response.Redirect(adminFilNavn & "?mode=konkurrencesiden")
case "opdater"
    Set conn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.recordset")
    Conn.Open tempConn
 
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
      spmGruppeNavn = Request.Form("spmGruppe")
      sponsorNavn = Request.Form("sponsorNavn")
      sponsorWWW = Request.Form("wwwSponsorAdr")
      sponsorBillede = Request.Form("sponsorBillede")
      startDato = Dato(Request.Form("startDato"))
      slutDato = Dato(Request.Form("slutDato"))
      valg = Request.Form("valg")
      bemerkning = Request.Form("bemerkning")
      aktiv = Request.Form("aktiv")
      if aktiv = "" then
        aktiv = 0
      else
        aktiv = 1
      end if
     
      strSQL = "UPDATE spmGruppe SET "
      strSQL = strSQL & "spmGruppeNavn = '" & spmGruppeNavn & "', "
      strSQL = strSQL & "sponsorNavn = '" & sponsorNavn & "', "
      strSQL = strSQL & "sponsorWWW = '" & sponsorWWW & "', "
      strSQL = strSQL & "sponsorBillede = '" & sponsorBillede & "',"
      strSQL = strSQL & "startDato = '" & startDato & "', "
      strSQL = strSQL & "slutDato = '" & slutDato & "', "
      strSQL = strSQL & "valg = '" & valg & "', "
      strSQL = strSQL & "bemerkning = '" & bemerkning & "', "
      strSQL = strSQL & "aktiv = " & aktiv & " "
      strSQL = strSQL & " WHERE gruppeID = " & Request("ID")

      Conn.execute(strSQL)
 
      strSQL = "DELETE FROM spmTabel WHERE spmGruppeId = " & request("ID")
      conn.execute(strSQL)
      gruppeID = Request("ID")

'Indsæt spørgsmålene i den nye gruppe 
      for i = 1 to 10
        spmText = replace(Request.Form("spm"&i),"'","''")
        spmSvar = Request.Form("" & i)

        if spmText <> "" and spmSvar <> "" then
          strSQL = "insert into spmTabel (spmGruppeId,spmText,spmSvar) VALUES ("
          strSQL = strSQL & "" & gruppeID & ", "
          strSQL = strSQL & "'" & spmText & "', "
          strSQL = strSQL & "" & spmSvar & ")"
'          Response.Write strSQL & "<br>"
          Conn.execute(strSQL)
        end if
      next
     
'Så er den konkurrence rettet. 
    End If

    Conn.Close
    Set Conn = Nothing

    Response.Redirect(adminFilNavn & "?mode=konkurrencesiden")

'Gem præmie i databasen her: 
  Case "gempraemie"

    Set conn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.recordset")
    Conn.Open tempConn
 
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
      premieNavn = Request.Form("premieNavn")
      premieBillede = Request.Form("premieBillede")
      premieOverskrift = Request.Form("premieOverskrift")
      premieKonkurrence = Request.Form("premieKonkurrence")

      SQL = "insert into spmPraemie (spmgruppe, premieNavn, premieBillede, premieOverskift)"
      SQL = SQL & " VALUES ("
      SQL = SQL & "" & premieKonkurrence & ", "
      SQL = SQL & "'" & premieNavn & "', "
      SQL = SQL & "'" & premieBillede & "', "
      SQL = SQL & "'" & premieOverskrift & "'"
      SQL = SQL & ")"
      Conn.Execute(SQL)
    end if
    Conn.Close
    Set Conn = Nothing
   
    Response.Redirect(adminFilNavn & "?mode=konkurrencesiden")
   
   
     
'Hvis det er en ukendt submode så redirect til mode= konkurrencesiden
  Case Else
    Response.Redirect(adminFilNavn & "?mode=konkurrencesiden")
 
  End Select 'submode 

 
'''''''''''''''''''''''''''''
''
'' SLUT PÅ konkurrence admin delen
''
'''''''''''''''''''''''''''''

End Select
%>
Avatar billede Slettet bruger
01. august 2003 - 18:43 #1
Kan skyldes der er et  ' i din tekst til bemærkning.
Avatar billede Slettet bruger
01. august 2003 - 18:44 #2
Til en anden gang så behøver du kun at poste linierne omkring fejlen og ikke hele din kode :-)
Hvis du vil have en ' i din tekst kan du restatte den med 2 ', altså '' så vil den blive skrevet ned i databasen som en '.
Avatar billede isaac Nybegynder
01. august 2003 - 18:53 #3
Tak for hjælpen!
Hvis jeg vil kunne skrive dvd'er, hvad ville de rigtige koder så være?
Avatar billede squashguy Nybegynder
01. august 2003 - 19:02 #4
str = "dvd'er"
sql_sikker_streng = replace(str, "'", "''")
Avatar billede Slettet bruger
01. august 2003 - 20:12 #5
Brug replace som squashguy skriver, her har jeg sat den ind i din kode:
strSQL = "UPDATE spmGruppe SET "
      strSQL = strSQL & "spmGruppeNavn = '" & spmGruppeNavn & "', "
      strSQL = strSQL & "sponsorNavn = '" & sponsorNavn & "', "
      strSQL = strSQL & "sponsorWWW = '" & sponsorWWW & "', "
      strSQL = strSQL & "sponsorBillede = '" & sponsorBillede & "',"
      strSQL = strSQL & "startDato = '" & startDato & "', "
      strSQL = strSQL & "slutDato = '" & slutDato & "', "
      strSQL = strSQL & "valg = '" & valg & "', "
      strSQL = strSQL & "bemerkning = '" & replace(bemerkning, "'", "''") & "', "
      strSQL = strSQL & "aktiv = " & aktiv & " "
      strSQL = strSQL & " WHERE gruppeID = " & Request("ID")
Avatar billede isaac Nybegynder
01. august 2003 - 20:17 #6
Alle tiders - 1000 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