Avatar billede totalpc Seniormester
21. oktober 2008 - 21:39 Der er 8 kommentarer og
1 løsning

Data type mismatch in criteria expression

Jeg prøver nedenstående, men den fejler med en Data type mismatch.

<!--#include file="db.inc"-->
<%
if Request.form("kodeord") <> Request.form("kodeord2") then
  Response.Redirect "default.asp?sitepage=min_konto&msg=" & Server.URLEncode ("Kodeord stemmer ikke overens!.")& "&fornavn=" & Server.URLEncode(strFornavn)& "&efternavn=" & Server.URLEncode(strEfterNavn)& "&email=" & Server.URLEncode(stremail)& "&ID=" & Request.Form("ID_no")
end if

if Request.Form("send_email") = "ON" then
send_email = True
else
send_email = False
end if

strSQL = "UPDATE bruger SET fornavn='" & Request.Form("fornavn") & "',efternavn='" & Request.Form("efternavn") & "',kodeord='" & Request.Form("kodeord")& "',send_email='" & send_email & "',adresse='" & Request.Form("adresse") & "',postnr='" & Request.Form("postnr") & "',[by]='" & Request.Form("by") & "',telefon='" & Request.Form("telefon") & "',telefon2='" & Request.Form("telefon2") & "',mobil='" & Request.Form("mobil") & "',mobil2='" & Request.Form("mobil2") & "',[email]='" & Request.Form("email") & "',email2='" & Request.Form("email2") & "',email3='" & Request.Form("email3") & "',[www]='" & Request.Form("www") & "',www2='" & Request.Form("www2") & "',www3='" & Request.Form("www3") & "',notat='" & Request.Form("notat") & "' Where ID="& request.form("id")
response.write strsql
response.write send_email
' SQL sætning eksekveres
Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing


Response.Redirect "default.asp?sitepage=min_konto&msg=" & Server.URLEncode ("Ændringer er gemt!")
%>


Problemet er denne :
& "',send_email='" & send_email

For når jeg fjerner den så virker det. Det er et Ja/Nej felt i access. Jeg troede det skulle sættes til true/false som jeg gør ovenfor.
Avatar billede w13 Novice
21. oktober 2008 - 21:44 #1
Jeg er ikke sikker på, du kan bruge underscore sådan i en SQL-sætning. Prøv lige at rette:

send_email='" & send_email & "'

til:

[send_email]='" & send_email
Avatar billede w13 Novice
21. oktober 2008 - 21:44 #2
Alternativt at omdøbe feltet send_email til sendemail i databasen.
Avatar billede keysersoze Guru
21. oktober 2008 - 21:50 #3
send_email=" & send_email & "
Avatar billede w13 Novice
21. oktober 2008 - 21:55 #4
Jeg tror vist, jeg snart skal til at læse spørgsmålene ordentligt, inden jeg svarer.
Avatar billede totalpc Seniormester
21. oktober 2008 - 21:57 #5
jeg har prøvet begge dele nu....
Samme fejl

UPDATE bruger SET fornavn='Kristian',efternavn='Hansen',kodeord='Kris',[sendemail]='False',adresse='vej 6',postnr='4000',[by]='Korsør',telefon='',telefon2='',mobil='12345678',mobil2='',[email]='kristian@email.dk',email2='',email3='',[www]='bt.dk',www2='',www3='',notat='' Where ID=24
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/min_konto_gem.asp, line 17
Avatar billede w13 Novice
21. oktober 2008 - 21:58 #6
Prøvet at fjerne apostrofferne omkring værdien i sendemail, som Keysersoze foreslår?
Avatar billede totalpc Seniormester
21. oktober 2008 - 21:59 #7
Takker keysersoze. Det var godt set.
Tak for forsøget w13
Avatar billede totalpc Seniormester
21. oktober 2008 - 22:06 #8
Smid svar :)
Avatar billede keysersoze Guru
21. oktober 2008 - 22:35 #9
svar :)
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