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.
Annonceindlæg fra Salesforce
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
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 ???)
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.
hvor kommer stronline fra?
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">
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 & " "
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
how der mangler et '..: strSQL = "Update sider set menu = '" & replace(strTitle,"'","''") & "', tekst='" & replace(strContent,"'","''") & "', online=" & stronline & " where side_id=" & intDocumentID & " "
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>
18. juni 2002 - 14:26
#10
Prøv at rette denne linie: if online = "" then til if stronline = "" then
18. juni 2002 - 14:32
#11
Det hjælper desværre ikke :~|
18. juni 2002 - 14:39
#12
bliver den ikke gemt?
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("")%>">
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
18. juni 2002 - 14:56
#15
ok.
Kurser inden for grundlæggende programmering