25. marts 2004 - 14:15Der 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) %>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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)
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:
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..
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.