webForumDet fria alternativet

problem med insert eller databasen

11 svar · 469 visningar · startad av Vinnaren

VinnarenMedlem sedan sep. 2005833 inlägg
#1

Hej

Har fått problem med min insert sats :(
får felmeddelandet

Microsoft JET Database Engine error '80040e07'
Data type mismatch in criteria expression.
boka.asp, line 191

Har koden:

objConn.execute("INSERT INTO kunder (hyrbilID, fnamn, enamn, personnummer, adress, postnummer, postort, telefonnummer, mobilnummer, kundIP, sakerhetsnummer, utdatum, indatum)" &  " VALUES (" & strhyrbilID & ", '" & strfnamn & "', '" & strenamn & "'," & strpersonnummer & ", '" & stradress & "', " & strpostnummer & ", '" & strpostort & "', " & strtelefonnummer & ", " & strmobilnummer & ", '" & strkundIP & "', " & strsakerhetsnummer & ", #" & strutdatum & "#, #" & strindatum & "#)")

Det är fältet Personnummer som kronglar. Har get den nummer i databasen.

Vad kan det vara för fel?? :l

M@gnusMedlem sedan jan. 20061 808 inlägg
#2

Verkar fattas fnuttar runt där.

," & strpersonnummer & ",
@ndersMedlem sedan juni 200032 969 inlägg
#3

Att du har "gett den nummer i databasen", betyder det att datatypen är tal?
Om datatypen är text ska du ha apostrofer runt.

VinnarenMedlem sedan sep. 2005833 inlägg
#4

oki, jag har tal på personnummer. Men det ska väll vara "&personnummer&" när det är tal? det är väll när det är text som det ska vara '"&personnummer&"'???

:OO

@ndersMedlem sedan juni 200032 969 inlägg
#5

Ja, det är riktigt. Apostrofer runt textdata.

Om du tar bort personnummer-grejerna ur SQL-frågan fungerar den alltså? Hur ser den färdiga / kompletta SQL-frågan ut?

VinnarenMedlem sedan sep. 2005833 inlägg
#6

japp, utan personnummer funkar den fint.

Provar jag med response.write så får jag följande:


INSERT INTO kunder (hyrbilID, fnamn, enamn, personnummer, adress, postnummer, postort, telefonnummer, mobilnummer, kundIP, sakerhetsnummer, utdatum, indatum) VALUES (2, 'aaa', 'aaa',123456789123, 'aaaa', 12345, 'aaaa', 12345, 12345, '194.47.173.229', 590266009, #2006-10-17#, #2006-10-17#)

ser inget större fel x(

@ndersMedlem sedan juni 200032 969 inlägg
#7

Vad har du för inställning / storlek på talfältet för personnummer?

(Jag skulle nog dock gjort om det till ett textfält, för det är ju inget tal man ska räkna med)

VinnarenMedlem sedan sep. 2005833 inlägg
#8

har typ standard på inställningarna på tal, inget jag har ändrat på. Long Integer.
men det ska väll gå att ha tal som personnummer?

@ndersMedlem sedan juni 200032 969 inlägg
#9

Long integer är inte tillräckligt stort. Ett personnummer är ju i storleksordningen 7,6 miljarder för en pojke i min egen ålder om man nu ska använda tal.

Långt heltal / long integer tillåter folk så unga som min bortgångne farfar ungefär, men inte yngre.

http://www.databasedev.co.uk/fields_datatypes.html#numeric_settings

Varför vill du att det ska vara ett talfält?

VinnarenMedlem sedan sep. 2005833 inlägg
#10

ja, varför vet jag inte. Men då skulle man ju kunna ha text på alla, (telefonnummer, mobilnummer, postnummer)???

@ndersMedlem sedan juni 200032 969 inlägg
#11

Ja, vad gäller telefonnummer är till och med önskvärt att spara det som text. Annars är det lite klurigt att maskinellt bestämma vad som är riktnummer, till exempel.

VinnarenMedlem sedan sep. 2005833 inlägg
#12

oki, tack. det hjälpte med text :p

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)