13. juli 2006 - 20:13
Der er
5 kommentarer og 2 løsninger
Hjælp til ret funktion
Denne her virker ikke: <% nr = Request.Querystring("nr") nr = Replace(nr, "(", " ") nr = Replace(nr, ")", " ") nr = Replace(nr, "'", "''") nr = Replace(nr, "%", " ") nr = Replace(nr, ";", " ") navn = Request.Form("navn") navn = Replace(navn, "'", "''") menu = Request.Form("menu") menu = Replace(menu, "'", "''") tekst = Request.Form("tekst") tekst = Replace(tekst, "'", "''") Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("../../db/michaela.mdb") Conn.Open DSN strSQL = "Update sider set " strSQL = strSQL & "navn= '"&navn&"', " strSQL = strSQL & "menu= '"&menu&"', " strSQL = strSQL & "tekst= '"&tekst&"' " strSQL = strSQL & " Where nr = '&nr&'" Conn.Execute(strSQL) Conn.Close Set Conn = Nothing Response.Redirect "rediger_side.asp" %> Den gir følgene fejl::: Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. /administration/ret_side.asp, line 23 den der løser det, for 30 point med det samme
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
strSQL = "Update sider set " strSQL = strSQL & "navn= '"&navn&"', " strSQL = strSQL & "menu= '"&menu&"', " strSQL = strSQL & "tekst= '"&tekst&"' " strSQL = strSQL & " Where nr = "&nr&"" alternativt så prøv at udskrive din sql og se hvad det giver af resultat; Response.Write strSQL response.end Conn.Execute(strSQL)
Det er ikke så godt at du har mellemrum med i et felt som er forbeholdt tal. Ret til: nr = Request.Querystring("nr") nr = Replace(nr, "(", "") nr = Replace(nr, ")", "") nr = Replace(nr, "'", "") nr = Replace(nr, "%", "") nr = Replace(nr, ";", "") - og til: strSQL = "Update sider set " strSQL = strSQL & "navn= '"&navn&"', " strSQL = strSQL & "menu= '"&menu&"', " strSQL = strSQL & "tekst= '"&tekst&"' " strSQL = strSQL & " Where nr = " & nr
Nu virker det... Den redigere bare ikke feltet "tekst" ret_side.asp: <% if session("mi") = "" Then Response.redirect "../default.asp" end if %> <% nr = Request.Querystring("nr") nr = Replace(nr, "(", "") nr = Replace(nr, ")", "") nr = Replace(nr, "'", "") nr = Replace(nr, "%", "") nr = Replace(nr, ";", "") navn = Request.Form("navn") navn = Replace(navn, "'", "''") menu = Request.Form("menu") menu = Replace(menu, "'", "''") tekst = Request.Form("tekst") tekst = Replace(tekst, "'", "''") Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("../../db/michaela.mdb") Conn.Open DSN strSQL = "Update sider set " strSQL = strSQL & "navn= '"&navn&"', " strSQL = strSQL & "menu= '"&menu&"', " strSQL = strSQL & "tekst= '"&tekst&"' " strSQL = strSQL & " Where nr = " & nr Conn.Execute(strSQL) Conn.Close Set Conn = Nothing Response.Redirect "rediger_side.asp?nr="&nr&"" %> rediger_side.asp: <form method="post" action="ret_side.asp?nr=<%Response.Write Server.HTMLEncode("" & rs("nr") & "")%>"> <b>Navn:</b><br> <input type="text" value="<%Response.Write Server.HTMLEncode("" & rs("navn") & "")%>" name="navn" id="f"> <br><br> <b>Vis i menu?</b><br> <select name="menu" size="2" id="f"> <% if rs("menu") = "Ja" Then %> <option selected>Ja</option> <option>Nej</option> <% else %> <option>Ja</option> <option selected>Nej</option> <% end if %> </select> <br><br> <b>Tekst</b><br> <textarea name="tekst" value="<%Response.Write Server.HTMLEncode("" & rs("tekst") & "")%>" rows="21" cols="64"></textarea> <br><br> <input type="submit" name="submit" value="Opret" id="s"> </form>
Yes ;) fik lige rettet det ved hjælp af Microsoft Frontpage... Men i får alligevel point - 15 vær fordi i har hjulpet, men ikke løst problemet helt. er det godt nok? læg svar
Point er givet - tråd lukket - tak for hjælpen :-)
Kurser inden for grundlæggende programmering