25. marts 2004 - 14:15
Der er
18 kommentarer og 1 løsning
fejl: zero-length string
Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access Driver] Field 'velkommen.kontakt' cannot be a zero-length string. /sambo/admin/ret_velkomst_form.asp, line 49 script her: <% if request("mode") = "gem" then set conn = server.createobject("ADODB.connection") path = Server.MapPath("db/tirsdag.mdb") conn.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}" tekst = Replace(request.form("tekst"),vbCrLf, "<br>") overskrift = Replace(request.form("overskrift"),vbCrLf, "<br>") SQL="UPDATE velkommen SET " SQL = SQL & "overskrift='" & overskrift & "', " SQL = SQL & "kontakt='" & kontakt & "', " SQL = SQL & "telefon='" & telefon & "', " SQL = SQL & "email='" & email & "', " SQL = SQL & "tekst='" & tekst & "'" SQL = SQL & " where ID =" & session("EditID") Set RS = Conn.Execute(SQL) %> hvad er galt ? /cdc
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?
25. marts 2004 - 14:36
#1
Har du prøvet at læse fejlbeskeden? Jeg syntes den er rimlig klar. Variablen "kontakt" er tom, og det må den ikke være i databasen.
25. marts 2004 - 14:37
#2
men det er den ikke, der står et navn
25. marts 2004 - 15:07
#3
Vis os lige hvordan du henter indholdet til "kontakt". Det ville også være en god ide, at udskrive sql'en: SQL="UPDATE velkommen SET " SQL = SQL & "overskrift='" & overskrift & "', " SQL = SQL & "kontakt='" & kontakt & "', " SQL = SQL & "telefon='" & telefon & "', " SQL = SQL & "email='" & email & "', " SQL = SQL & "tekst='" & tekst & "'" SQL = SQL & " where ID =" & session("EditID") response.end ' stopper her og fortsætter ikke med resten af koden. Hvad står der efter "kontakt'" ?
25. marts 2004 - 15:11
#4
Hvad mener du med dette: Hvad står der efter "kontakt'" ? <% set rstemp=nothing Conn.Close set conntemp=nothing else set conn = server.createobject("ADODB.connection") path = Server.MapPath("db/tirsdag.mdb") conn.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}" SQL = "SELECT * from velkommen where id = " & Request.Querystring("ID") set RS = Conn.Execute(SQL) Session("overskrift") = RS("overskrift") Session("tekst") = RS("tekst") Session("kontakt") = RS("kontakt") Session("telefon") = RS("telefon") Session("email") = RS("email") Session("editID") = Request.Querystring("ID") %> og jeg har lavet det så rækkefølgen er ens /cdc
25. marts 2004 - 15:17
#5
min fejl... det skulle ha' været: SQL="UPDATE velkommen SET " SQL = SQL & "overskrift='" & overskrift & "', " SQL = SQL & "kontakt='" & kontakt & "', " SQL = SQL & "telefon='" & telefon & "', " SQL = SQL & "email='" & email & "', " SQL = SQL & "tekst='" & tekst & "'" SQL = SQL & " where ID =" & session("EditID") response.write sql response.end ' stopper her og fortsætter ikke med resten af koden. Men... din kode smider værdierne i sessions.. og du prøver på at hente værdierne via variabler.. du forskellige ting.. det skal nok være: SQL = SQL & "kontakt='" & session("kontakt") & "', " eller også skal du bruge: kontakt = request.querystring("kontakt") (via method="GET".. hvis værdien står i urlen) kontakt = request.form("kontakt") (via method="POST".. værdien sendes via formen i stedet for urlen)
25. marts 2004 - 15:22
#7
jo men nu fungerer det hvis jeg ikke smider de tre sidste på i min form og det er det jeg synes er lidt skummelt. Den funkerer med overskrift og tekst. Så smed jeg tre nye kolonner ind i db og så går det galt, det er det jeg ikke forstår.
25. marts 2004 - 15:24
#8
og vedr. html.dk er jeg igang med at kigge
25. marts 2004 - 15:24
#9
smid lige hele din kode herind.. det kan være at vi har overset et eller andet.. brugernavn og password (osv) erstatter du med nogle "**"..
25. marts 2004 - 15:27
#10
uha den bliver lang: <% if session("login") = "" Then Response.redirect("../index.htm") end if %> <% session.lcid = 1030 %> <html> <head> <title>Admin</title> <link type=text/css rel=stylesheet href="../../email/admin/css_filer/ss_wci.css"> <script language="JavaScript" type="text/javascript"> <!-- function insertTag ( strTag ) { var strSelected = document.selection.createRange().text; if( strSelected.length > 0 ) { document.selection.createRange().text = "<" + strTag + ">" + strSelected + "</" + strTag + ">" } } //--> </script> <base target="_self"> </head> <body> <table border="0" width="450" cellspacing="0" cellpadding="10"> <tr> <td width="100%"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <% if request("mode") = "gem" then set conn = server.createobject("ADODB.connection") path = Server.MapPath("db/admin.mdb") conn.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}" tekst = Replace(request.form("tekst"),vbCrLf, "<br>") overskrift = Replace(request.form("overskrift"),vbCrLf, "<br>") SQL="UPDATE velkommen SET " SQL = SQL & "overskrift='" & overskrift & "', " SQL = SQL & "tekst='" & tekst & "', " SQL = SQL & "kontakt='" & kontakt & "', " SQL = SQL & "telefon='" & telefon & "', " SQL = SQL & "email='" & email & "'" SQL = SQL & " where ID =" & session("EditID") Set RS = Conn.Execute(SQL) %> <td width="100%" bordercolor="#FFFFFF"> <p class="dhtmlBold"><font size="5" color="#294A7B">Siden er opdateret ...? </font> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><img border="0" src="../../email/admin/images/link_back.gif"></td> <td><p class="copy"> <a href="index.asp" target="_top">Tilbage til menu</a></td> </tr> </table> <p class="dhtmlBold"><% set rstemp=nothing Conn.Close set conntemp=nothing else set conn = server.createobject("ADODB.connection") path = Server.MapPath("db/admin.mdb") conn.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}" SQL = "SELECT * from velkommen where id = " & Request.Querystring("ID") set RS = Conn.Execute(SQL) Session("overskrift") = RS("overskrift") Session("tekst") = RS("tekst") Session("kontakt") = RS("kontakt") Session("telefon") = RS("telefon") Session("email") = RS("email") Session("editID") = Request.Querystring("ID") %> <table border="1" cellpadding="0" cellspacing="0" bordercolor="#294A7B" style="margin-left: 0px;"> <tr> <td bordercolor="#FFFFFF"> <table border="0" width="420" cellspacing="0" cellpadding="3"> <tr> <td bgcolor="#294A7B"> <p class="rammetopBold">Redigerings Modul</p> </td> </tr> </table> <form method="POST" action="ret_velkomst_form.asp" id="aForm"> <INPUT TYPE="hidden" NAME="mode" VALUE="gem"> <table border="0" cellpadding="0" cellspacing="0" width="420"> <tr> <td class="copy"> Side</td> <td><input type="text" name="overskrift" size="50" value="<% response.write session("overskrift") %>" style="font-family: Verdana; font-size: 11 px"></td> </tr> <tr> <td width="21%" height="2" class="copy" valign="top"> Tekst på side</td> <td width="79%" height="2"><textarea name="tekst" id="aTextArea" rows="30" cols="59" style="font-family: Verdana; font-size: 10 px"><% response.write Replace(session("tekst"), "<br>", vbCrLf) %></textarea></td> </tr> <tr> <td width="21%" height="2" class="copy" valign="middle">Kontakt</td> <td width="79%" height="2"><input type="text" name="kontakt" size="50" value="<% response.write session("kontakt") %>" style="font-family: Verdana; font-size: 11 px"></td> </tr> <tr> <td width="21%" height="2" class="copy" valign="middle">Telefon</td> <td width="79%" height="2"><input type="text" name="telefon" size="50" value="<% response.write session("telefon") %>" style="font-family: Verdana; font-size: 11 px"></td> </tr> <tr> <td width="21%" height="2" class="copy" valign="middle">Email</td> <td width="79%" height="2"><input type="text" name="email" size="50" value="<% response.write session("email") %>" style="font-family: Verdana; font-size: 11 px"></td> </tr> <tr> <td width="21%" height="2" class="copy" valign="top"></td> <td width="79%" height="2"></td> </tr> <tr> <td width="21%" height="10" class="copy" valign="top"></td> <td width="79%" height="10"> <p class="copy"><br> <input type="submit" value="Opdater" name="b1"><input type="button" id="btnMakeBold" value="Bold" onclick="insertTag( 'b' );"><input type="button" id="btnMakeUnderline" value="Underline" onclick="insertTag( 'u' );"><input type="button" id="btnMakekursiv" value="kursiv" onclick="insertTag( 'i' );"><input type="button" id="btnMakeafsnit" value="Afsnit" onclick="insertTag( 'li' );"><br> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> <tr> <td width="100%"> <table border="0" width="144"> <tr> <td width="16"> <p align="right"><img border="0" src="../../email/admin/images/link_back.gif"></td> <td width="114"> <p class="copy"><a href="index.asp" target="_top">Tilbage til menu</a></td> </tr> <% end if %> </table> </table> </body>
25. marts 2004 - 15:32
#11
Her: tekst = Replace(request.form("tekst"),vbCrLf, "<br>") overskrift = Replace(request.form("overskrift"),vbCrLf, "<br>") Du skal indsætte *alle* de andre felter.. alle skal ha' en: et_navn = Request.form("feltnavn-her")
25. marts 2004 - 15:36
#12
Tak ! Man kigger på alt mulig andet, og så bliver man totalt blind :o) Smid lige et svar thesurfer
25. marts 2004 - 15:38
#13
kender det godt :-) ..et svar er smidt :-)
25. marts 2004 - 15:42
#14
lige en ting til skulle dette ikke virke: <a href="mailto:<% response.write RS("email") %>"><% response.write RS("email") %></a>
25. marts 2004 - 15:45
#15
Det kommen an på hvor du placerer det.. Det må ikke placeres efter en "set rs = nothing" eller en "set conn = nothing", da begge lukke forbindelsen til databasen.. hvis linien skal placeres efter disse, skal du først smide indholdet over i en variabel: en_email = rs("email") .... <a href="mailto<%=en_email%>"><%=en_email%></a>
25. marts 2004 - 15:46
#16
glemte lige et semi-kolon: <a href="mailto:<%=en_email%>"><%=en_email%></a>
25. marts 2004 - 15:53
#17
ser sådan her ud: <td class="highlights" width="132">: <% response.write RS("kontakt") %></td> </tr> <tr> <td class="highlights" width="34">Telefon</td> <td class="info" width="132">: <% response.write RS("telefon") %></td> </tr> <tr> <td class="highlights" width="34">Email</td> <td class="highlights" width="132">: <a href="mailto:<% response.write RS("email") %>"><% response.write RS("email") %></a></td>
25. marts 2004 - 16:00
#18
I dit indlæg @ 25/03-2004 15:27:27 kan jeg se at du åbner forbindelsen til databasen, men ikke at du lukker den igen.. det skal du huske at gøre.. så din kode skulle gerne virker. du lukker forbindelsen sådan her: set rs = nothing set conn = nothing men som jeg skrev i mit indlæg 25/03-2004 15:45:38, kan man ikke bruge "rs(et eller andet)" efter lukning af database forbindelse.. Hvis man ikke lukker forbindelsen til database, bruger den bare flere og flere ressourcer og forbindelser.. i Windows er antal forbindelser, begrænset..
25. marts 2004 - 16:02
#19
ok kigger på det
Kurser inden for grundlæggende programmering