Avatar billede cdc Novice
28. april 2005 - 09:51 Der er 52 kommentarer og
2 løsninger

Data type mismatch

Har spurgt om denne før, men bliver aldrig klog på denne fejl.

Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/newsite/junior/torsdag/save.asp, line 23

linie 23:

Conn.Execute("Insert Into url(namn,url,info,resultat,kat) Values('" & Namn & "','" & Url & "','" & Info & "','" & Resultat & "'," & Kat & ")")
Avatar billede mini-me Nybegynder
28. april 2005 - 09:54 #1
er der nogle af dem som i databasen er nummerisk prøv evt. at fjerne ' ' om disse.
Avatar billede cdc Novice
28. april 2005 - 09:54 #2
resultat er et tal
Avatar billede mikkelk Nybegynder
28. april 2005 - 09:54 #3
Hvad indeholder felterne?? (namn,url,info,resultat,kat)
Avatar billede mikkelk Nybegynder
28. april 2005 - 09:55 #4
Så prøv:

Conn.Execute("Insert Into url(namn,url,info,resultat,kat) Values('" & Namn & "','" & Url & "','" & Info & "'," & Resultat & ",'" & Kat & "')")
Avatar billede kalp Novice
28. april 2005 - 09:55 #5
De værdier du prøver at sætte ind i  forskellige felter i din database skal have samme datatype som dine kolonner.

namn hvis det er et tekstfelt så skal '" & Namn & "' se ud som du har gjort det der
kat hvis det er et number felt så ser denne også rigtig ud & Kat & "

'""' rundt om tekst
"" rundt om tal.
Avatar billede mikkelk Nybegynder
28. april 2005 - 09:55 #6
Eller
Conn.Execute("Insert Into url(namn,url,info,resultat,kat) Values('" & Namn & "','" & Url & "','" & Info & "'," & Resultat & "," & Kat & ")")
Avatar billede cdc Novice
28. april 2005 - 09:56 #7
nu fik jeg denne: Microsoft JET Database Engine error '80040e14'

Syntax error in INSERT INTO statement.

/newsite/junior/torsdag/save.asp, line 23
Avatar billede mikkelk Nybegynder
28. april 2005 - 09:57 #8
Hvordan ser din SQL nu ud og hvilke data er det du forsøger at sætte ind?
Avatar billede cdc Novice
28. april 2005 - 09:58 #9
måske et dumt spørgsmål....Men hvis jeg skriver 2 hansen vil db så læse det som tal eller text
Avatar billede kalp Novice
28. april 2005 - 09:58 #10
tekst
Avatar billede mikkelk Nybegynder
28. april 2005 - 09:58 #11
Prøv evt. at skriv følgende:
response.write "Insert Into url(namn,url,info,resultat,kat) Values('" & Namn & "','" & Url & "','" & Info & "','" & Resultat & "'," & Kat & ")"
Og smid resultatet herind, så er det lidt nemmere at se hvad der går galt.
Avatar billede kalp Novice
28. april 2005 - 09:59 #12
men hvis du skriver det og din kolonne i databasen er et talfelt.. så får du en fejl..

som sagt.. fortæl hvad det er..

'""' forætller det er tekst
"" fortæller cet er tal
Avatar billede cdc Novice
28. april 2005 - 10:01 #13
namn=tekst
url=tekst
info=text
resultat=tal
kat=tal
Avatar billede cdc Novice
28. april 2005 - 10:02 #14
mit script ser således ud:

<!--#Include file="inc/settings.asp"-->

<%If Session("LinkAdminIn") <> Secure Then
  Response.Redirect "admin.asp"
Else%>

<%If Request.QueryString("do") = "addlink" Then
  Namn = Fixa(Request.Form("namn"))
  Url  = Request.Form("url")
  If Url <> "" Then
    If Left(Lcase(Url),7) = "" Then
      Url = Url
    Else
      Url = "" & Url
    End If
  End If
 
  Info = Fixa(Request.Form("info"))
  Kat  = Request.Form("kat")

  Set RS=Conn.Execute("Select * From url Where url='" & Url & "'")
  If RS.EOF Then
    Conn.Execute("Insert Into url(namn,url,info,resultat,kat) Values('" & Namn & "','" & Url & "','" & Info & "'," & Resultat & "," & Kat & ")")
    Response.Redirect "admin.asp?action=inne&catId=" & Kat
  Else
    Response.Redirect "admin.asp?action=inne&catId=" & Kat & "&mess=exist&name=" & RS("url")
  End If

ElseIf Request.QueryString("do") = "addkat" Then
  Kat      = Fixa(Request.Form("namn"))
  Sub_kat  = Request.Form("kat")

  Set RS=Conn.Execute("Select * From kat Where kat='" & kat & "'")
  If RS.EOF Then
    Conn.Execute("Insert Into kat(kat,sub_kat) Values('" & Kat & "'," & Sub_kat & ")")
    If Sub_kat <> 0 Then
      Response.Redirect "admin.asp?action=inne&catId=" & Sub_kat
    Else
      Response.Redirect "admin.asp?action=inne"
    End If
  Else
    If Sub_kat <> 0 Then
      Response.Redirect "admin.asp?action=inne&catId=" & Sub_kat & "&mess=exist&name=" & RS("kat")
    Else
      Response.Redirect "admin.asp?action=inne&mess=exist&name=" & RS("kat")
    End If
  End If

ElseIf Request.QueryString("do") = "changelink" Then
  Namn = Fixa(Request.Form("namn"))
  Url  = Request.Form("url")
  If Url <> "" Then
    If Left(Lcase(Url),7) = "" Then
      Url = Url
    Else
      Url = "" & Url
    End If
  End If

  Resultat = Fixa(Request.Form("resultat")) 
  Info = Fixa(Request.Form("info"))
  Kat  = Request.Form("kat")

  Conn.Execute("Update url Set namn='" & Namn & "',url='" & Url & "',info='" & Info & "',resultat='" & Resultat & "',kat=" & Kat & " Where id=" & Request.QueryString("id"))
  Response.Redirect "admin.asp?action=inne&catId=" & Request.Form("kat")

ElseIf Request.QueryString("do") = "changekat" Then
  Kat      = Fixa(Request.Form("namn"))
  Sub_kat  = Request.Form("kat")

  Conn.Execute("Update kat Set kat='" & Kat & "',sub_kat='" & Sub_kat & "' Where id=" & Request.QueryString("id"))
  If Sub_kat <> 0 Then
    Response.Redirect "admin.asp?action=inne&catId=" & Sub_kat
  Else
    Response.Redirect "admin.asp?action=inne"
  End If

End If

Conn.Close
Set Conn=Nothing

End If%>
Avatar billede mikkelk Nybegynder
28. april 2005 - 10:03 #15
Conn.Execute("Insert Into url(namn,url,info,resultat,kat) Values('" & Namn & "','" & Url & "','" & Info & "'," & Resultat & "," & Kat & ")")

Bør være det rigtige.

Dog, hvis Resultat er et decimaltal skal der stadigvæk ' omkring...
Avatar billede kalp Novice
28. april 2005 - 10:05 #16
hvis ikke det virker så udskrive lige alle dine variabler

namn,url,info,resultat,kat

dem du requester og se om der står noget i dem!

og ellers udskrive din sql
Avatar billede mikkelk Nybegynder
28. april 2005 - 10:05 #17
Prøv lige at kør følgende og så smid det den skriver herind.

<!--#Include file="inc/settings.asp"-->

<%If Session("LinkAdminIn") <> Secure Then
  Response.Redirect "admin.asp"
Else%>

<%If Request.QueryString("do") = "addlink" Then
  Namn = Fixa(Request.Form("namn"))
  Url  = Request.Form("url")
  If Url <> "" Then
    If Left(Lcase(Url),7) = "" Then
      Url = Url
    Else
      Url = "" & Url
    End If
  End If

  Info = Fixa(Request.Form("info"))
  Kat  = Request.Form("kat")

  Set RS=Conn.Execute("Select * From url Where url='" & Url & "'")
  If RS.EOF Then
    response.write "Insert Into url(namn,url,info,resultat,kat) Values('" & Namn & "','" & Url & "','" & Info & "'," & Resultat & "," & Kat & ")"
    'Conn.Execute("Insert Into url(namn,url,info,resultat,kat) Values('" & Namn & "','" & Url & "','" & Info & "'," & Resultat & "," & Kat & ")")
    'Response.Redirect "admin.asp?action=inne&catId=" & Kat
  Else
    Response.Redirect "admin.asp?action=inne&catId=" & Kat & "&mess=exist&name=" & RS("url")
  End If

ElseIf Request.QueryString("do") = "addkat" Then
  Kat      = Fixa(Request.Form("namn"))
  Sub_kat  = Request.Form("kat")

  Set RS=Conn.Execute("Select * From kat Where kat='" & kat & "'")
  If RS.EOF Then
    Conn.Execute("Insert Into kat(kat,sub_kat) Values('" & Kat & "'," & Sub_kat & ")")
    If Sub_kat <> 0 Then
      Response.Redirect "admin.asp?action=inne&catId=" & Sub_kat
    Else
      Response.Redirect "admin.asp?action=inne"
    End If
  Else
    If Sub_kat <> 0 Then
      Response.Redirect "admin.asp?action=inne&catId=" & Sub_kat & "&mess=exist&name=" & RS("kat")
    Else
      Response.Redirect "admin.asp?action=inne&mess=exist&name=" & RS("kat")
    End If
  End If

ElseIf Request.QueryString("do") = "changelink" Then
  Namn = Fixa(Request.Form("namn"))
  Url  = Request.Form("url")
  If Url <> "" Then
    If Left(Lcase(Url),7) = "" Then
      Url = Url
    Else
      Url = "" & Url
    End If
  End If

  Resultat = Fixa(Request.Form("resultat"))
  Info = Fixa(Request.Form("info"))
  Kat  = Request.Form("kat")

  Conn.Execute("Update url Set namn='" & Namn & "',url='" & Url & "',info='" & Info & "',resultat='" & Resultat & "',kat=" & Kat & " Where id=" & Request.QueryString("id"))
  Response.Redirect "admin.asp?action=inne&catId=" & Request.Form("kat")

ElseIf Request.QueryString("do") = "changekat" Then
  Kat      = Fixa(Request.Form("namn"))
  Sub_kat  = Request.Form("kat")

  Conn.Execute("Update kat Set kat='" & Kat & "',sub_kat='" & Sub_kat & "' Where id=" & Request.QueryString("id"))
  If Sub_kat <> 0 Then
    Response.Redirect "admin.asp?action=inne&catId=" & Sub_kat
  Else
    Response.Redirect "admin.asp?action=inne"
  End If

End If

Conn.Close
Set Conn=Nothing

End If%>
Avatar billede kalp Novice
28. april 2005 - 10:05 #18
min tanke er at måske en eller flere af variablerne er tomme.
Avatar billede cdc Novice
28. april 2005 - 10:07 #19
når jeg smider denne ind: response.write "Insert Into url(namn,url,info,resultat,kat) Values('" & Namn & "','" & Url & "','" & Info & "','" & Resultat & "'," & Kat & ")"

sker der intet
Avatar billede mikkelk Nybegynder
28. april 2005 - 10:08 #20
den skulle da gerne udskrive din SQL. Det er ikke fordi du glemmer at udkommentere linien med redirect???
Avatar billede kalp Novice
28. april 2005 - 10:08 #21
du mangler vist conn.execute delen
Avatar billede cdc Novice
28. april 2005 - 10:10 #22
resultat står med startværdi 0 og den retter jeg et andet sted bagefter
Avatar billede cdc Novice
28. april 2005 - 10:12 #23
Insert Into url(namn,url,info,resultat,kat) Values('18.00','6544','Freddy Arntsen',,2)
Avatar billede kalp Novice
28. april 2005 - 10:12 #24
se selv.. result er tom!!
Avatar billede kalp Novice
28. april 2005 - 10:13 #25
namn skal det være 18.00? og url skal det være et tal? det ser helt forkert ud!
Avatar billede mikkelk Nybegynder
28. april 2005 - 10:13 #26
Startværdi 0 i databasen?
Så prøv at fjern den helt fra din insert.
Avatar billede mikkelk Nybegynder
28. april 2005 - 10:14 #27
"Insert Into url(namn,url,info,kat) Values('" & Namn & "','" & Url & "','" & Info & "'," & Kat & ")"
Avatar billede cdc Novice
28. april 2005 - 10:15 #28
indtastningen var forkert kan jeg se, 2 sec
Avatar billede cdc Novice
28. april 2005 - 10:16 #29
startværdien i inputfeltet er 0
Avatar billede mikkelk Nybegynder
28. april 2005 - 10:16 #30
Men det afhænger jo af hvad felterne namn og url er defineret som i databasen. Og hvis du konsekvent sætter tal ind i dem, så er der jo ingen grund til at definere dem som tekst-felter.
Avatar billede kalp Novice
28. april 2005 - 10:17 #31
mikkelk >> så mangler han stadig sin Resultat. Går ud fra hen requester den fordi han vil have den med:)

cdc prøv evt at rykke request af resultat over alle dine sql sætninger..
og så skal du lige få styr på det du requester...

Der stod jo nogle helt forkerte værdier i felterne :)
Avatar billede mikkelk Nybegynder
28. april 2005 - 10:18 #32
Måske skulle du bare sætte din resultat-variabel:
  Info = Fixa(Request.Form("info"))
  Kat  = Request.Form("kat")
  Resultat  = Request.Form("resultat")
Avatar billede mikkelk Nybegynder
28. april 2005 - 10:23 #33
kalp > Jeg forstod det bare sådan at resultat-værdien først blev sat med en update senere.
Avatar billede cdc Novice
28. april 2005 - 10:24 #34
jeg følger med, men tester hvad i skriver løbende
Avatar billede cdc Novice
28. april 2005 - 10:28 #35
Nu har jeg i DB sadt namn og url til tal da det som regel er tal i dem.

Microsoft JET Database Engine error '80040e14'

Number of query values and destination fields are not the same.

/newsite/junior/torsdag/save.asp, line 23
Avatar billede cdc Novice
28. april 2005 - 10:29 #36
mikkelk--> Riktig, jeg laver en add først og laver en change bagefter hvor resultatet kommer på
Avatar billede mikkelk Nybegynder
28. april 2005 - 10:33 #37
"som regel er tal" er ikke godt nok - du er nødt til at være 100% konsekvent.
Så brug den her:
"Insert Into url(namn,url,info,kat) Values(" & Namn & "," & Url & ",'" & Info & "'," & Kat & ")"
Avatar billede cdc Novice
28. april 2005 - 10:34 #38
jeg har lavet det om nu så det kommer tal, så laver jeg om på navnene bagefter på kolonnerne i db
Avatar billede cdc Novice
28. april 2005 - 10:38 #39
lavede den om til denne:

    Conn.Execute("Insert Into url(namn,url,info,kat) Values(" & Namn & "," & Url & ",'" & Info & "'," & Kat & ")")

fik denne:

Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/newsite/junior/torsdag/save.asp, line 21
Avatar billede cdc Novice
28. april 2005 - 10:38 #40
smider lige nogle flere points i puljen
Avatar billede kalp Novice
28. april 2005 - 10:40 #41
Det nytter ikke noget at prøve at rette i tingene når resultat er tom.
løs det først...
Avatar billede kalp Novice
28. april 2005 - 10:41 #42
Conn.Execute("Insert Into url(namn,url,info,kat) Values('" & Namn & "','" & Url & "','" & Info & "','" & Kat & "')")

gør alle felter til tekst i databasen og prøv den.
Avatar billede cdc Novice
28. april 2005 - 10:42 #43
kan det være fordi jeg scriver 18.00 i et talfelt den går galt
Avatar billede kalp Novice
28. april 2005 - 10:43 #44
ja så skal der "''" rundt om. mener jeg
Avatar billede kalp Novice
28. april 2005 - 10:44 #45
Conn.Execute("Insert Into url(namn,url,info,kat) Values('" & Namn & "'," & Url & ",'" & Info & "'," & Kat & ")")

hvis du ikke retter dine felter til tekst felter.
Avatar billede cdc Novice
28. april 2005 - 10:51 #46
så virker det kalp, dog skulle ikke kat være text men tal.

smider i ikke et svar så deler jeg points ud

/cdc
Avatar billede kalp Novice
28. april 2005 - 10:53 #47
okay:P

ja det gælder jo om at have styr på datatyperne:) svært at vurdere herfra:)
Avatar billede kalp Novice
28. april 2005 - 10:53 #48
og ja det skal den være hvis du brugte den her
Kommentar: kalp
28/04-2005 10:44:56
men ikke
Kommentar: kalp
28/04-2005 10:41:00
Avatar billede cdc Novice
28. april 2005 - 10:54 #49
ved det godt :o) men skulle bare have et felt ind, så gik alt galt. Irriterende når det virkede før, men tak for hjælpen alle sammen

/cdc
Avatar billede cdc Novice
28. april 2005 - 10:57 #50
Brugte den
Kommentar: kalp
28/04-2005 10:44:56

og så din næste bagefter min kommentar :o)
Avatar billede mikkelk Nybegynder
28. april 2005 - 10:57 #51
Et svar :-)
Godt at det lykkedes.
Avatar billede cdc Novice
28. april 2005 - 10:58 #52
mikkelk---> Points ? så smid et svar
Avatar billede cdc Novice
28. april 2005 - 10:59 #53
sådan, tak endnu engang
Avatar billede kalp Novice
28. april 2005 - 10:59 #54
selv tak:))
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