Avatar billede pham Nybegynder
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???
Avatar billede cbp Nybegynder
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 & "')")
Avatar billede pham Nybegynder
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
Avatar billede cbp Nybegynder
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 & "')")
Avatar billede pham Nybegynder
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
Avatar billede pham Nybegynder
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 :-)
Avatar billede cbp Nybegynder
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.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester