Avatar billede wandaxp Praktikant
22. juli 2004 - 16:38 Der er 20 kommentarer og
1 løsning

ASP og SQL - hvad er overløb?

Jeg har dette kode :

OrdreTidsSession = tYear & tMd & tDay & tHour & tMinute & tSecond & Session.SessionID
' Denne line giver bare et tal eks : 2004072216343456766545
' For at være sikker på det er unikt.

strSQL = "SELECT * FROM lokalesalgsliste WHERE SessionID = " & Session.SessionID & " "

Set database = Con.Execute(strSQL)

strSQLA = "INSERT INTO lokaleordre (SessionID, OrdreDato, KundeNavn, KundeAdresse, KundePostnr, KundeBy, OrdrePris) VALUES ('" & OrdreTidsSession & "', '" & Date() & "', '" & request.form("navn") & "', '" & request.form("adresse") & "', '" & request.form("postnr") & "', '" & request.form("byen") & "', '" & Session("SamletPris") & "')"

Con.Execute(strSQLA)
Her fejler den med :

Error Type:
Microsoft JET Database Engine (0x80040E57)
Der opstod et overløb


Hvis jeg ændre tallet, så jeg eks. fjerner noget af den så den max bliver ca. 10 tal lang, så kommer den med en fejl stadig for den sidste SQL sætning om at den :

Error Type:
Microsoft JET Database Engine (0x80040E07)
Datatyperne stemmer ikke overens i kriterieudtrykket.

Hvad kan dette være, jeg kører det til en ACCESS database hvor Tallet gemmes i en standard felt af typen TAL det samme gælder postnr og ordrepris, men ved de øvrige er det en stanard tekst felt på 50 chr (og det overskrides ikke)
Så er der et ID som tæller automatisk op?

På forhånd 1000 TAK :-)
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 16:41 #1
Tallet er for stort. Brug en tekst-type til feltet (og husk '....' omkring)
Avatar billede wandaxp Praktikant
22. juli 2004 - 16:53 #2
Så kommer den med denne fejl :
Error Type:
Microsoft JET Database Engine (0x80040E07)
Datatyperne stemmer ikke overens i kriterieudtrykket.
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 17:13 #3
husk '....' omkring
Avatar billede wandaxp Praktikant
22. juli 2004 - 17:26 #4
Omkring hvad af det?
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 17:31 #5
Omkring alle værdier du putter i tekstfelter.
Avatar billede wandaxp Praktikant
22. juli 2004 - 17:34 #6
Det er der også....
Avatar billede c_a_s_p_e_r Nybegynder
22. juli 2004 - 17:43 #7
Men, hvis f.eks request.from("adresse") indeholder "Kronprinsesse sofie's vej" så vil den fejl, da der er en ' inde i udtrykket...

Ret det til replace(request.from("adresse"), "'", "''")

/CasperJ
Avatar billede wandaxp Praktikant
22. juli 2004 - 18:17 #8
Den forstår jeg ikke hvordan skla det så stå i sql sætningen?
Avatar billede wandaxp Praktikant
22. juli 2004 - 19:12 #9
er det i denne der skal ændres noget her er da'...' om alle punkter?
strSQLA = "INSERT INTO lokaleordre (SessionID, OrdreDato, KundeNavn, KundeAdresse, KundePostnr, KundeBy, OrdrePris) VALUES ('" & OrdreTidsSession & "', '" & Date() & "', '" & request.form("navn") & "', '" & request.form("adresse") & "', '" & request.form("postnr") & "', '" & request.form("byen") & "', '" & Session("SamletPris") & "')"
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 19:25 #10
Hvis  postnr og ordrepris  er tal, skal der ikke '...' omkring.
Avatar billede wandaxp Praktikant
22. juli 2004 - 20:24 #11
Så er fejlen dette :
Error Type:
Microsoft JET Database Engine (0x80040E14)
Der er en syntaksfejl i INSERT INTO-sætningen.
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 20:25 #12
Så må du udskrive din strSQLA og fortælle os hvad der står i den.
Hvad er typerne af alle dine felter?
Avatar billede wandaxp Praktikant
22. juli 2004 - 20:31 #13
ID er et autonumreringsfelt og derfor ikke med i strengen.
Af dem der er med i stregen her, er der postnr og ordrepris som er tal felter, og de øvrige er alle tekst felter...
Avatar billede wandaxp Praktikant
22. juli 2004 - 20:43 #14
INSERT INTO lokaleordre (SessionID, OrdreDato, KundeNavn, KundeAdresse, KundePostnr, KundeBy, OrdrePris) VALUES ('200407222047391044715609', '22-07-2004', '', '', , '', 140)

Sådan kan SQL strengen komme til at se ud?
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 20:47 #15
Postnummerfeltet er tomt. Hvorfor det?
Avatar billede wandaxp Praktikant
22. juli 2004 - 20:51 #16
Igen af disse felter som er tomme heri, behøves data det er nogle der kan udfyldes, ingen af dem skal desideret bruges....
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 20:58 #17
Du må ikke angive et talfelt som ingenting. Så skal du skriv NULL.
Men et postnummer er vel ret beset ikke et tal, men en streng.
Avatar billede wandaxp Praktikant
22. juli 2004 - 21:04 #18
ja har også lige rettet den til en tekst felt, og så virker det, 1000 TAK for hjælpen :-)
Kom med et guld svar og pointene er dine :-)
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 21:19 #19
Ellers tak, jeg samler slet ikke på point.
Avatar billede wandaxp Praktikant
22. juli 2004 - 21:56 #20
Hmmmm ok, men så endnu engang 1000 tak for hjælpen, og sig endelig til hvis der skulle være mulighed for at jeg skulle kunne hjælpe engang?
Feks ved at skrive et spørgsmål her på siden igen, for så får jeg automatisk svar :-)
Avatar billede wandaxp Praktikant
22. juli 2004 - 21:57 #21
Har mest med det hardware mæssige IT at gøre....
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