|
| Insert into giver fejl som jeg ikke kan fi~ Fra : Ukendt |
Dato : 24-02-05 11:01 |
|
Hej
Jeg har stirret mig blind, og har behov for et par friske øjne !
Nedenstående udklip er min SQL streng der skal sendes til en access2000 DB.
Felterne i DB er enten text eller Yes/No.
Functions kald er testet og virker efter hensigten. Alle feltnavne er
korrekte (kopieret fra DB), men alligevel kommer følgende fejl meddelelse:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO
statement.
/sporgeskema/ojen/opret.asp, line 219
sql = "INSERT INTO ojen(navn, email, adresse, postnr, by, tlfhjem, tlfmobil,
tlfarb, alder, kon, hobby, overvejer, besluttet, medfolg, optikerlaege,
andre, briller, linser, langsyn, styrke_v, styrke_h, kender_ikke, venner,
laege, ojenlaege, optiker, hamlet2, google, sundhedsguiden, netdoktor, dgs,
krak, hamlet, andet, jp, berlingske, pol, metro, urban, bt, eb, anden_avis,
bobedre, alt, iform, helse, ltc, andet_blad, radio, tv, andet_tv,
tlf_kontakt, nyhedsbrev, relevant, spm, presentation, info, forstaa,
indtastningsdato) VALUES ('"
sql = Sql & Trim(request.form("navn")) & "','"
sql = sql & Trim(request.form("email")) & "','"
sql = sql & Trim(request.form("adresse")) & "','"
sql = sql & postnr & "','"
sql = sql & Trim(request.form("by")) & "','"
sql = sql & Trim(request.form("tlfhjem")) & "','"
sql = sql & Trim(request.form("tlfmobil")) & "','"
sql = sql & Trim(request.form("tlfarb")) & "','"
sql = sql & alder & "','"
sql = sql & request.form("mk") & "','"
sql = sql & Trim(request.form("hobby")) & "','"
sql = sql & request.form("overvejer") & "','"
sql = sql & request.form("besluttet") & "','"
sql = sql & request.form("medfolg") & "','"
sql = sql & request.form("optikerlaege") & "','"
sql = sql & Trim(request.form("andre")) & "',"
sql = sql & boolVar(request.form("briller")) & ","
sql = sql & boolVar(request.form("linser")) & ","
sql = sql & boolVar(request.form("langsyn")) & ",'"
sql = sql & Trim(request.form("styrke_v")) & "','"
sql = sql & Trim(request.form("styrke_h")) & "','"
sql = sql & request.form("kender_ikke") & "',"
sql = sql & boolVar(request.form("venner")) & ","
sql = sql & boolVar(request.form("laege")) & ","
sql = sql & boolVar(request.form("ojenlaege")) & ","
sql = sql & boolVar(request.form("optiker")) & ","
sql = sql & boolVar(request.form("hamlet2")) & ","
sql = sql & boolVar(request.form("google")) & ","
sql = sql & boolVar(request.form("sundhedsguiden")) & ","
sql = sql & boolVar(request.form("netdoktor")) & ","
sql = sql & boolVar(request.form("dgs")) & ","
sql = sql & boolVar(request.form("krak")) & ","
sql = sql & boolVar(request.form("hamlet")) & ",'"
sql = sql & Trim(request.form("andet")) & "',"
sql = sql & boolVar(request.form("jp")) & ","
sql = sql & boolVar(request.form("berlingske")) & ","
sql = sql & boolVar(request.form("pol")) & ","
sql = sql & boolVar(request.form("metro")) & ","
sql = sql & boolVar(request.form("urban")) & ","
sql = sql & boolVar(request.form("bt")) & ","
sql = sql & boolVar(request.form("eb")) & ",'"
sql = sql & Trim(request.form("anden_avis")) & "',"
sql = sql & boolVar(request.form("bobedre")) & ","
sql = sql & boolVar(request.form("alt")) & ","
sql = sql & boolVar(request.form("iform")) & ","
sql = sql & boolVar(request.form("helse")) & ","
sql = sql & boolVar(request.form("ltc")) & ",'"
sql = sql & Trim(request.form("andet_blad")) & "',"
sql = sql & boolVar(request.form("radio")) & ","
sql = sql & boolVar(request.form("tv")) & ",'"
sql = sql & Trim(request.form("andet_tv")) & "','"
sql = sql & request.form("tlf_kontakt") & "','"
sql = sql & request.form("nyhedsbrev") & "','"
sql = sql & request.form("relevant") & "','"
sql = sql & request.form("spm") & "','"
sql = sql & request.form("presentation") & "','"
sql = sql & request.form("info") & "','"
sql = sql & request.form("forstaa") & "',"
sql = sql & DateToSql(NOW) & ")"
'Conn.close
'response.write sql
'response.end
IDsql = "SELECT @@IDENTITY AS nytID FROM ojen"
Application.Lock
Set rs = Conn.Execute(sql)
Set Rs = Conn.Execute(IDsql)
Application.UnLock
NytID = Rs("nytID")
Conn.Close
response.redirect ("done.asp?" & NytID)
Med venlig hilsen
Gunnar Hermansen
g u h s n a b e l A h a m l e t p u n k t u m d a n m a r k
| |
Jens Gyldenkærne Cla~ (24-02-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 24-02-05 11:17 |
|
Privathospitalet Hamlet skrev:
> /sporgeskema/ojen/opret.asp, line 219
Hvilken linje er nr. 219? (med andre ord, er det sql eller idSQL der
fejler?).
Ved nærmere eftertanke - da det kun er sql der er en insert-sætning, er
det nok den der fejler.
> 'response.write sql
> 'response.end
Fjern udkommenteringen herover og send den færdige sql-sætning til
gruppen.
> IDsql = "SELECT @@IDENTITY AS nytID FROM ojen"
Så vidt jeg husker understøtter Access ikke @@identity - men det finder
du ud af når du får den første sql-sætning til at køre.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Ukendt (24-02-2005)
| Kommentar Fra : Ukendt |
Dato : 24-02-05 11:44 |
|
> Fjern udkommenteringen herover og send den færdige sql-sætning til
> gruppen.
INSERT INTO ojen(navn, email, adresse, postnr, by, tlfhjem, tlfmobil,
tlfarb, alder, kon, hobby, overvejer, besluttet, medfolg, optikerlaege,
andre, briller, linser, langsyn, styrke_v, styrke_h, kender_ikke, venner,
laege, ojenlaege, optiker, hamlet2, google, sundhedsguiden, netdoktor, dgs,
krak, hamlet, andet, jp, berlingske, pol, metro, urban, bt, eb, anden_avis,
bobedre, alt, iform, helse, ltc, andet_blad, radio, tv, andet_tv,
tlf_kontakt, nyhedsbrev, relevant, spm, presentation, info, forstaa,
indtastningsdato) VALUES
('gh','gh','gh','2400','by','','','','24','mand','','Ja','Ja','Nej','Ukendt'
,'',False,False,False,'','','nærsynet inkl
bygningsfejl',False,False,False,False,False,False,False,False,False,False,Fa
lse,'',False,False,False,False,False,False,False,'',False,False,False,False,
False,'',False,False,'','Nej','Ukendt','3','3','4','3','3',DateSerial(2005,
2, 24) )
> Så vidt jeg husker understøtter Access ikke @@identity - men det finder
> du ud af når du får den første sql-sætning til at køre.
Jeg bruger @@identity i et andet script, og der virker den helt perfekt.
| |
Casper Bang (24-02-2005)
| Kommentar Fra : Casper Bang |
Dato : 24-02-05 11:55 |
|
[SNIP]
Problemet er i felt-navnet "by".
Brug [by] i stedet for bare by, så din SQL bliver:
sql = "INSERT INTO ojen(navn, email, adresse, postnr, [by], tlfhjem,
tlfmobil,
tlfarb, alder, kon, hobby, overvejer, besluttet, medfolg, optikerlaege,
andre, briller, linser, langsyn, styrke_v, styrke_h, kender_ikke, venner,
laege, ojenlaege, optiker, hamlet2, google, sundhedsguiden, netdoktor, dgs,
krak, hamlet, andet, jp, berlingske, pol, metro, urban, bt, eb, anden_avis,
bobedre, alt, iform, helse, ltc, andet_blad, radio, tv, andet_tv,
tlf_kontakt, nyhedsbrev, relevant, spm, presentation, info, forstaa,
indtastningsdato) VALUES ('"
| |
Ukendt (24-02-2005)
| Kommentar Fra : Ukendt |
Dato : 24-02-05 12:09 |
|
> Problemet er i felt-navnet "by".
Casper du er fantastisk. Jeg omdøbte feltnavn i db, og tilrettede script med
det nye feltnavn og nu virker det.
1000 tak.
/Gunnar
| |
Casper Bang (24-02-2005)
| Kommentar Fra : Casper Bang |
Dato : 24-02-05 13:35 |
|
>> Problemet er i felt-navnet "by".
>
> Casper du er fantastisk. Jeg omdøbte feltnavn i db, og tilrettede script
> med
> det nye feltnavn og nu virker det.
> 1000 tak.
Jeg er glad for at kunne hjælpe :)
Lige for god ordens skyld, en forklaring på HVORFOR problemet opstod.
"by" er et reserveret ord; bruges normalt i "ORDER BY".
For at fortælle access at du ikke mener det reserverede ord, men i stedet en
tabel ved navn "by" omkranser man navnet med [by] - eller omdøber feltet,
som du valgte at gøre.
| |
|
|