17. april 2002 - 08:39
Der er
5 kommentarer og 1 løsning
Hvor for virker dette ikke??
jeg sidder og arbejder med følgende kode: <% Option Explicit dim cn, constr, connectionstring, sql, strPath, send, navn, emne, besked, svarid %> <form method="post" action="tilfojsvar.asp?send=true"> <input type=text name=navn> <input type=text name=emne> <textarea name=besked></textarea> <input type=submit value=send> </form> <% strpath=Server.MapPath("gem.mdb") set cn = server.createobject("ADODB.connection") constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & strPath cn.connectionstring = constr cn.open send = request.querystring("send") navn = request.form("navn") emne = request.form("emne") besked = request.form("besked") svarid = request.querystring("page") if send="true" then if (len(navn) > 0) and (len(emne) > 0) and (len(besked) > 0) then cn.execute("INSERT INTO tekst(svarid,navn,emne,besked) values('" & svarid & "' , '" & navn & "' , '" & emne & "' , '" & besked & "')") else response.write("Du har ikke skrevet noget i tekst felterne") cn.close set cn=nothing end if end if %> men når jeg afvikler det får jeg følgende fejl: Microsoft JET Database Engine error '80040e07' Data type mismatch in criteria expression. /elev/99-agh/medie/test/tilfojsvar.asp, line 29 er der nogen som ved hvad der er galt???
Annonceindlæg tema
Cloud & AI
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.
17. april 2002 - 08:43
#1
Det er formodentlig fordi svarid er et tal-felt i databasen. Derfor skal der ikke bruges ' omkring værdien når du indsætter: cn.execute("INSERT INTO tekst(svarid,navn,emne,besked) values('" & svarid & "' , '" & navn & "' , '" & emne & "' , '" & besked & "')") skal altså sikkert være: cn.execute("INSERT INTO tekst(svarid,navn,emne,besked) values(" & svarid & " , '" & navn & "' , '" & emne & "' , '" & besked & "')")
17. april 2002 - 08:45
#2
hvis jeg fjerner ' omkring kommer fejlen: Microsoft JET Database Engine error '80040e14' Syntax error in INSERT INTO statement. /elev/99-agh/medie/test/tilfojsvar.asp, line 29
17. april 2002 - 09:01
#3
Prøv at udskrive din SQL inden du udfører den, så kan du nok se fejlen ellers må du poste SQL'en her: Response.Write("INSERT INTO tekst(svarid,navn,emne,besked) values(" & svarid & " , '" & navn & "' , '" & emne & "' , '" & besked & "')")
17. april 2002 - 09:12
#4
jeg får følgende: INSERT INTO tekst(svarid,navn,emne,besked) values( , 'dfg' , 'dfg' , 'fg') er det så ikke fordi jeg skal sætte noget oppe i mit form action
17. april 2002 - 09:18
#5
jeg fandt ud af det der skulle være følgende i mit formfelt: <form method="post" action="tilfojsvar.asp?send=true&page=<% response.write svarid %>"> tak for startskuddet :-)
17. april 2002 - 09:20
#6
Tja, det kan jeg ikke rigtig svare på. Men fejlen er i hvert fald at du mangler at putte en værdi i svarid.
Kurser inden for grundlæggende programmering