Avatar billede martinhh Nybegynder
23. august 2003 - 18:52 Der er 31 kommentarer og
1 løsning

Data type mismatch

Tjaaa... Jeg kan efterhånden ikke finde på flere fejlmuligheder på nedenstående kode:

strKid = Request.Form("kid")
strTitel = Request.Form("titel")
strBeskrivelse = Request.Form("beskrivelse")
strAdresse = Request.Form("adresse")
strFormat = Request.Form("format")
strForfatter = Request.Form("forfatter")

strSQL = "Insert into opgaver (kid, titel, beskrivelse, adresse, format, forfatter, klik) "
strSQL = strSQL & "values('" & strKid & "', '" & strTitel & "', '" & strBeskrivelse & "', '" & strAdresse & "', '" & strFormat & "', "
strSQL = strSQL & "'" & strForfatter & "', '1')"
 
Conn.Execute(strSQL)

Fejlmeddelelse:
Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/mh/skole/tilfoj.asp, line 22

Databasen jeg prøver at indsætte i ligger her:
http://www.frip.dk/mh/skole/skole.mdb
Avatar billede henrikgn Nybegynder
23. august 2003 - 18:58 #1
kid er i din database af typen "tal". Så den skal der altså ikke apostroffer omkring vil jeg mene.
Avatar billede martinhh Nybegynder
23. august 2003 - 19:11 #2
henrik, jo der skal...

For apostrofferne indikerer at der er en "value" som skal indsættes. Hvis jeg fjernede dem ville jeg få Syntax Error.
Avatar billede Slettet bruger
23. august 2003 - 19:35 #3
Nej, ikke hvis typen er tal i databasen, når du skriver ' omkring betyder det at det er en streng. Så du må kigge på dine type og så rette din stning til.
Avatar billede henrikgn Nybegynder
23. august 2003 - 19:39 #4
præcis det jeg også mente... det virker i access
Avatar billede martinhh Nybegynder
23. august 2003 - 19:40 #5
Okay, bertie... Men så får jeg altså en syntax error. Kan du ikke skrive SQL-sætningen som den skal se ud så. Sådan jeg ikke misforstår dig
Avatar billede Slettet bruger
23. august 2003 - 20:04 #6
Jeg er nødt til at vide hvilke typer felterne er i databasen så, disse her
kid, titel, beskrivelse, adresse, format, forfatter, klik
Avatar billede Slettet bruger
23. august 2003 - 20:11 #7
Der er nok især klik egentlig, de andre giver jo sig selv :-)
Avatar billede Slettet bruger
23. august 2003 - 20:12 #8
Et par skud mens vi venter:
kid og klik er tal:
strSQL = "Insert into opgaver (kid, titel, beskrivelse, adresse, format, forfatter, klik) "
strSQL = strSQL & "values (" & strKid & ", '" & strTitel & "', '" & strBeskrivelse & "', '" & strAdresse & "', '" & strFormat & "', "
strSQL = strSQL & "'" & strForfatter & "', 1)"

kid er tal og klik er en streng:
strSQL = "Insert into opgaver (kid, titel, beskrivelse, adresse, format, forfatter, klik) "
strSQL = strSQL & "values (" & strKid & ", '" & strTitel & "', '" & strBeskrivelse & "', '" & strAdresse & "', '" & strFormat & "', "
strSQL = strSQL & "'" & strForfatter & "', '1')"
Avatar billede martinhh Nybegynder
23. august 2003 - 20:15 #9
bertie, du kan se min db på adressen http://www.frip.dk/mh/skole/skole.mdb
Avatar billede Slettet bruger
23. august 2003 - 20:17 #10
Kræver det ikke jeg har Access installeret? For det har jeg ikke.
Avatar billede martinhh Nybegynder
23. august 2003 - 20:18 #11
jo, bertie..
Avatar billede Slettet bruger
23. august 2003 - 20:19 #12
Nå jamen så må vi klare os uden, har du prøvet de 2 sætninger jeg har givet dig?
Avatar billede martinhh Nybegynder
23. august 2003 - 20:21 #13
Ja, og de giver begge Syntax Error!

...som jeg sagde
Avatar billede martinhh Nybegynder
23. august 2003 - 20:22 #14
bertie, du kan ikke komme uden om ' -tegnet!!!
Avatar billede Slettet bruger
23. august 2003 - 20:24 #15
Jo hvis en kolonne er tal skal der ikke ' uden om.
Jeg har et skud mere prøv at skrive den første linie sådan da format kan være et reserveret ord.
strSQL = "Insert into opgaver (kid, titel, beskrivelse, adresse, [format], forfatter, klik) "

Ellers så må du lave en Response.write strSQL for at se hvordan sætningen ser ud inden den bliver kørt, du kan sætte Response.End lige efter for så udskriver den sætningen og stopper.
Avatar billede Slettet bruger
23. august 2003 - 20:25 #16
Kan du ikke skrive hvilken type dine felter er?
Avatar billede martinhh Nybegynder
23. august 2003 - 20:26 #17
kid = tal

titel = tekst

beskrivelse = tekst

adresse = tekst

format = tekst

forfatter = tekst

klik = tal
Avatar billede Slettet bruger
23. august 2003 - 20:28 #18
Så skal den se sådan ud:
strSQL = "Insert into opgaver (kid, titel, beskrivelse, adresse, [format], forfatter, klik) "
strSQL = strSQL & "values (" & strKid & ", '" & strTitel & "', '" & strBeskrivelse & "', '" & strAdresse & "', '" & strFormat & "', "
strSQL = strSQL & "'" & strForfatter & "', 1)"

Det slår mig lige, er et af dine felter autonummerering?
Avatar billede martinhh Nybegynder
23. august 2003 - 20:29 #19
nej...
Avatar billede Slettet bruger
23. august 2003 - 20:29 #20
Ok, så prøv ovenstående og lav evt. en response.write som jeg skrev før.
Avatar billede martinhh Nybegynder
23. august 2003 - 20:30 #21
bertie, koden fra kl. 20:28 giver Syntax Error
Avatar billede Slettet bruger
23. august 2003 - 20:32 #22
Hvad med Response.Write så vi lige kan se den "færdige" sætning?
Avatar billede martinhh Nybegynder
23. august 2003 - 20:32 #23
bertie, når jeg udskriver min SQL-sætning ser den sådan her ud:

Insert into opgaver (kid, titel, beskrivelse, adresse, [format], forfatter, klik) values ('', '', '', '', '', '', '1')

Det var sq strange...
Avatar billede Slettet bruger
23. august 2003 - 20:33 #24
Ja der er ' omkring første og sidste, det skal der jo ikke være :-)
Avatar billede Slettet bruger
23. august 2003 - 20:34 #25
Og så skulle der jo gerne stå noget i dine felter :-)
Avatar billede martinhh Nybegynder
23. august 2003 - 20:37 #26
Vent lige 2 sec. Det er vist noget med serveren ...
Avatar billede martinhh Nybegynder
23. august 2003 - 20:38 #27
JO, der skal stå ' rundt om den... Prøv lige http://html.dk/tutorials/asp/lektion20.asp
Avatar billede Slettet bruger
23. august 2003 - 20:42 #28
Det kan godt være at der står sådan men det er altså ikke rigtigt, det ville svare til at du prøvede at putte en appelsin ind i en bananskal og kaldste det for en banan :-)
Avatar billede martinhh Nybegynder
23. august 2003 - 20:42 #29
Fandt ud at det bertie... Og JO! Der skal stå ' rundt om den, det har jeg fået til at virke..! Takker for hjælpen. Du får pointene, så opret svar.
Avatar billede Slettet bruger
23. august 2003 - 20:46 #30
Jamen jeg er altså ikke enig...men lad os tage det senere så :-)
Jeg takker, vil du sige hvad der gik galt?
Avatar billede martinhh Nybegynder
23. august 2003 - 20:49 #31
Ja, bertie... Det var serveren(min maskine) der drillede! Min lillesøster har pillet ved noget hun ikke ved noget om...
Avatar billede Slettet bruger
23. august 2003 - 20:56 #32
Ak ja de søskende :-)
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