Avatar billede jmc Nybegynder
18. juni 2002 - 12:37 Der er 14 kommentarer og
1 løsning

opdatering af checkboks

strSQL = "Update sider set menu = '" & replace(strTitle,"'","''") & "', tekst='" & replace(strContent,"'","''") & "', online='" & replace(stronline,"'","''") & "' where side_id=" & intDocumentID & " "


online opdateres ikke. I databasen er den true eller false.
Avatar billede jmc Nybegynder
18. juni 2002 - 12:46 #1
kunne dette tænkes at have noget med at at gøre?

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/wsite/rediger_side.asp, line 30
Avatar billede jmc Nybegynder
18. juni 2002 - 12:51 #2
hvis jeg fjerner ' under online:

strSQL = "Update sider set menu = '" & replace(strTitle,"'","''") & "', tekst='" & replace(strContent,"'","''") & ", online=" & replace(stronline,"","") & "' where side_id=" & intDocumentID & " "

så gemmer den i tabellen tekst -> online=on online=false (den skriver online=on ???)
Avatar billede eagleeye Praktikant
18. juni 2002 - 13:15 #3
Hvis du har defineret feltetr som Ja/Nej (True/False) så skal du via SQL benytte ture/1 for Ja og False/0 for nej.
Avatar billede eagleeye Praktikant
18. juni 2002 - 13:15 #4
hvor kommer stronline fra?
Avatar billede jmc Nybegynder
18. juni 2002 - 13:45 #5
feltet er defineret true/false
med kriteriet true for at selecte i en forespørgsel.

et sted i koden:
stronline = Request.Form("broadcast")

et andet sted:
<input <%If (stronline = true) Then Response.Write("CHECKED") : Response.Write("")%> type="checkbox" name="broadcast">
Avatar billede eagleeye Praktikant
18. juni 2002 - 13:51 #6
du skal også sætte en value på din checkbox:
type="checkbox" name="broadcast" value="noget">

Der hvor du gemmer i databasen:
online = Request.Form("broadcast")
if online = "" then
  stronline = false
else
  stronline = true
end if

og så SQL'en:
strSQL = "Update sider set menu = '" & replace(strTitle,"'","''") & "', tekst='" & replace(strContent,"'","''") & ", online=" & stronline & " where side_id=" & intDocumentID & " "
Avatar billede jmc Nybegynder
18. juni 2002 - 14:01 #7
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression ''123, online=False where side_id=23'.
/wsite/rediger_side.asp, line 32

line 32 som er
adoCn.Execute strSQL
Avatar billede eagleeye Praktikant
18. juni 2002 - 14:09 #8
how der mangler et '..:

strSQL = "Update sider set menu = '" & replace(strTitle,"'","''") & "', tekst='" & replace(strContent,"'","''") & "', online=" & stronline & " where side_id=" & intDocumentID & " "
Avatar billede jmc Nybegynder
18. juni 2002 - 14:17 #9
den opdatere ikke checkboksen?
her er det meste af dokumentet: (håber du kan hjælpe!)

<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/content.asp" -->
<%
'STEP 7 : PREPARE SERVER SIDE HANDLING SCRIPT
'Loading the content & saving the edited content back to the database
dim intDocumentID
dim strTitle
dim stronline
dim strContent

dim adoCn
dim strSQL
set adoCn = Server.CreateObject("ADODB.Connection")
adoCn.Open MM_content2_STRING

if Request.QueryString("action") = "save" then

    intDocumentID = Request.Form("txtDocumentID")
    strTitle = Request.Form("txtTitle")
    strContent = Request.Form("txtContent")
    stronline = Request.Form("broadcast")
   
if online = "" then
  stronline = false
else
  stronline = true
end if
   
strSQL = "Update sider set menu = '" & replace(strTitle,"'","''") & "', tekst='" & replace(strContent,"'","''") & "', online=" & stronline & " where side_id=" & intDocumentID & " "
   
    'response.write strSQL
    adoCn.Execute strSQL
    Response.Redirect "index.asp?s="&Request.QueryString("s")&"&e="&Request.QueryString("e")
else
    intDocumentID = Request.QueryString("s")
   
    dim adoRs
    set adoRs = Server.CreateObject("ADODB.Recordset")
    strSQL = "Select * From sider where side_id=" & intDocumentID
    set adoRs = adoCn.Execute(strSQL)
    'response.write adoRs
    If not adoRs.EOF then
        strTitle = adoRs("menu")
        'response.write "1"&strTitle
        strContent = adoRs("tekst")
        'response.write "2"&strContent
        stronline = adoRs("online")
        'response.write "3"&stronline
    End If
    adoRs.Close
    set adoRs = nothing
end if

adoCn.Close
set adoCn = nothing
%>
<head>

</head>
<!-- STEP 4 : PREPARE BODY ATTRIBUTE -->
<body onload="initEditor()" oncontextmenu="return false" ONSELECTSTART="return event.srcElement.tagName=='INPUT'"  ondragstart="return false" style="FONT-FAMILY: Verdana;FONT-SIZE: x-small;">
<!-- /STEP 4 -->
<font size=3><b>Rediger dokument</b></font>
<!-- STEP 1 : PREPARE FORM -->
<form method="post" action="rediger_side.asp?s=<%=Request.QueryString("s")%>&e=<%=Request.QueryString("e")&"&action=save"%>" name="SaveForm" ID="Form1">
  <!-- Content Edit hidden input form -->
  <input type="hidden" name="txtContent"  value="" ID="Hidden2">
  <input type="hidden" name="txtDocumentID"  value="<%=intDocumentID%>" ID="Hidden3">
  <!-- Add additional input form here -->
  <table width="542" cellpadding=0 cellspacing=0 ID="Table1">
    <tr>
      <td>Dokumentets titel : </td>
      <td>
        <INPUT type="text" name="txtTitle" size=50 ID="Text2" maxlength=100 value="<%=strTitle%>">
      </td>
      <td><%="den er "&stronline%>online:
        <input type="checkbox" name="broadcast" value="<%If (stronline = true) Then Response.Write("CHECKED") : Response.Write("")%>">
      </td>
    </tr>
  </table>
</form>
<!-- /STEP 1 -->
<!-- STEP 2 : CONTENT -->
<IFRAME NAME="idContentTmp" STYLE="POSITION: absolute; VISIBILITY: hidden; Z-INDEX: -1;" noscroll></IFRAME>
<IFRAME NAME="idContent" class=editArea id="idContent" contentEditable="true" ONFOCUS="popupHide()" WIDTH="100%" HEIGHT="300"></IFRAME>
<table id="idToolbarBottom" class=tblCoolbar bgcolor=#E2E2E2 cellpadding=0 cellspacing=0 width=100%>
  <tr>
    <td align=left>
      <INPUT type="checkbox" onclick="setDisplayMode()" id=chkDisplayMode name=chkDisplayMode>
      HTML </td>
    <td align=right>
      <INPUT type="button" value="gem" onClick="Save()" id=btnSave name=btnSave disabled>
    </td>
  </tr>
</table>
<!-- /STEP 2 -->
<!-- STEP 3 : PREPARE TEMPORARY CONTENT (get content from the server that will be used by the Content Editor Init) -->
<div id=idContentTemp style="display:none"><%=strContent%></div>
<!-- /STEP 3 -->
</body>
Avatar billede eagleeye Praktikant
18. juni 2002 - 14:26 #10
Prøv at rette denne linie:
if online = "" then

til

if stronline = "" then
Avatar billede jmc Nybegynder
18. juni 2002 - 14:32 #11
Det hjælper desværre ikke :~|
Avatar billede eagleeye Praktikant
18. juni 2002 - 14:39 #12
bliver den ikke gemt?
Avatar billede eagleeye Praktikant
18. juni 2002 - 14:41 #13
<input type="checkbox" name="broadcast" value="<%If (stronline = true) Then Response.Write("CHECKED") : Response.Write("")%>">

du skal altif give den en værdi.. Værdien får du via request.form("navn") og hvis man ikke har afkrydset checkboxen så får man en tom værdi "".

CHECKED betyder bare om den default er sta afkydset.

<input type="checkbox" name="broadcast" value="noget" <%If (stronline = true) Then Response.Write("CHECKED") : Response.Write("")%>">
Avatar billede jmc Nybegynder
18. juni 2002 - 14:55 #14
dette fik den på plads:
<input <%If (CStr(stronline) = CStr("true")) Then Response.Write("CHECKED") : Response.Write("")%> type="checkbox" name="broadcast">

ellers tak
Avatar billede eagleeye Praktikant
18. juni 2002 - 14:56 #15
ok.
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