|
| samme problem med denne kode Fra : Finn |
Dato : 29-07-02 20:17 |
|
Fejl:
Der opstod en Microsoft VBScript-kompileringsfejl fejl '800a0409'
Strengkonstanten er uafsluttet
/adr2/UpdateQ2.asp, linje 18
strSGL = strSGL & "Where [Id] = "& Request.Form("id")"
Formål; at opdatere data der er hentet fra access og som skal rettes:
Selve asp ser således ud
' Databaseforbindelse -
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("data.mdb")
Conn.Open DSN
strSQL = "Update T_Adresser set (Fornavn,Efternavn)"
strSQL = strSQL & "values ('" & Request.Form("Fornavn") & "', "
strSQL = strSQL & "'" & Request.Form("Efternavn") & "')"
strSGL = strSGL & "Where [Id] = "& Request.Form("id")"
' strSQL = "Select * From T_Adresser Where [Id] = "& Request.Form("id")
'UPDATE T_Adresser SET T_Adresser.Fornavn = "ddd", T_Adresser.Efternavn =
"aaaa"
Response.Write(strSQL) & "<br>"
Set rs = Conn.Execute(strSQL)
Response.Write rs("Fornavn")&" " & rs("Efternavn") & "<br>"
Conn.Close
Set Conn = Nothing
| |
Jørn Andersen (29-07-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 29-07-02 21:10 |
|
On Mon, 29 Jul 2002 21:16:45 +0200, "Finn" <trebbien@city.dk> wrote:
>Fejl:
>
>Der opstod en Microsoft VBScript-kompileringsfejl fejl '800a0409'
>Strengkonstanten er uafsluttet
>/adr2/UpdateQ2.asp, linje 18
>strSGL = strSGL & "Where [Id] = "& Request.Form("id")"
<snip>
>strSQL = "Update T_Adresser set (Fornavn,Efternavn)"
>strSQL = strSQL & "values ('" & Request.Form("Fornavn") & "', "
>strSQL = strSQL & "'" & Request.Form("Efternavn") & "')"
>strSGL = strSGL & "Where [Id] = "& Request.Form("id")"
Du mangler to mellemrum (før Where og før values) + det sidste " skal
væk.
strSGL i sidste line går jeg ud fra er en taste fejl? (Skal være
strSQL).
Den nemmeste måde at "fange" SQL-strengs-fejl på er at skrive dem ud.
Indsæt:
Response.Write strSQL
Response.End
- lige efter, du har afsluttet opbygningen af SQL-strengen.
Hvis du fx indsætter Fornavn: Jens og Efternavn: Jensen, bliver din
streng:
"Update T_Adresser set (Fornavn,Efternavn)values ('Jens',
'Jensen')Where [Id] = "& Request.Form("id")"
Prøv med:
strSQL = "Update T_Adresser set (Fornavn, Efternavn)" & _
" values ('" & Request.Form("Fornavn") & "'," & _
" '" & Request.Form("Efternavn") & "')" & _
" Where [Id] = "& Request.Form("id")
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Finn (30-07-2002)
| Kommentar Fra : Finn |
Dato : 30-07-02 08:29 |
|
Jeg får stadig fejl;
Update T_Adresser set
(Fornavn,Efternavn,kontakttype,gade,postnr,postboks,mail,organisation,arbejd
stelefon,lokalnr,privattelefon,mobiltelefon,fax,url,bem)values ('Anders',
'And','Ingen','Paradisæblevej 1',9999,'box 1','no@mail.com','Disney','',0,'
',' ','',' www.disney.com','verdens sjoveste ugeblad') Where Id = 187
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.
UpdateQ.asp, line 56
Min sql er sådan ud:
strSQL = "Update T_Adresser set
(Fornavn,Efternavn,kontakttype,gade,postnr,postboks,mail,organisation,arbejd
stelefon,lokalnr,privattelefon,mobiltelefon,fax,url,bem)"
strSQL = strSQL & "values ('" & Request.Form("Fornavn") & "', "
strSQL = strSQL & "'" & Request.Form("Efternavn") & "',"
strSQL = strSQL & "'" & Request.Form("kontakttype") & "',"
strSQL = strSQL & "'" & Request.Form("gade") & "',"
strSQL = strSQL & "" & Request.Form("Postnr") & ","
strSQL = strSQL & "'" & Request.Form("postboks") & "',"
strSQL = strSQL & "'" & Request.Form("mail") & "',"
strSQL = strSQL & "'" & Request.Form("organisation") & "',"
strSQL = strSQL & "'" & Request.Form("Arbejdstelefon") & "',"
strSQL = strSQL & "" & Request.Form("lokalnr") & ","
strSQL = strSQL & "'" & Request.Form("privattelefon") & "',"
strSQL = strSQL & "'" & Request.Form("mobiltelefon") & "',"
strSQL = strSQL & "'" & Request.Form("fax") & "',"
strSQL = strSQL & "'" & Request.Form("url") & "',"
strSQL = strSQL & "'" & Request.Form("Note") & "')"
strSQL = strSQL & " Where Id = "& Request.Form("id")
| |
Jakob Andersen (30-07-2002)
| Kommentar Fra : Jakob Andersen |
Dato : 30-07-02 08:35 |
|
Finn wrote:
> Jeg får stadig fejl;
> Update T_Adresser set
>
(Fornavn,Efternavn,kontakttype,gade,postnr,postboks,mail,organisation,arbejd
> stelefon,lokalnr,privattelefon,mobiltelefon,fax,url,bem)values
> ('Anders', 'And','Ingen','Paradisæblevej 1',9999,'box
> 1','no@mail.com','Disney','',0,' ',' ','',' www.disney.com','verdens
> sjoveste ugeblad') Where Id = 187
En UPDATE har formen:
UPDATE T_Adresser SET Fornavn = 'Anders', Efternavn = 'And' WHERE [Id] = 187
--
Jakob Andersen
| |
Finn (30-07-2002)
| Kommentar Fra : Finn |
Dato : 30-07-02 08:38 |
|
Dejlig hurtigt svar. Men jeg er ikke med på hvad det betyder *S*
"Jakob Andersen" <jakob@effectus.dk> skrev i en meddelelse
news:ai5fig$f9q$1@sunsite.dk...
> Finn wrote:
> > Jeg får stadig fejl;
> > Update T_Adresser set
> >
>
(Fornavn,Efternavn,kontakttype,gade,postnr,postboks,mail,organisation,arbejd
> > stelefon,lokalnr,privattelefon,mobiltelefon,fax,url,bem)values
> > ('Anders', 'And','Ingen','Paradisæblevej 1',9999,'box
> > 1','no@mail.com','Disney','',0,' ',' ','',' www.disney.com','verdens
> > sjoveste ugeblad') Where Id = 187
>
> En UPDATE har formen:
>
> UPDATE T_Adresser SET Fornavn = 'Anders', Efternavn = 'And' WHERE [Id] =
187
>
> --
> Jakob Andersen
>
>
| |
Jakob Andersen (30-07-2002)
| Kommentar Fra : Jakob Andersen |
Dato : 30-07-02 08:55 |
|
Finn wrote:
> Dejlig hurtigt svar. Men jeg er ikke med på hvad det betyder *S*
Du bygger din UPDATE forkert op, opbygningen minder mere om INSERT end en
UPDATE.
Prøv at lave din kode om til følgende:
strSQL = "Update T_Adresser"
strSQL = strSQL & "SET Fornavn = '" & Request.Form("Fornavn") "',"
strSQL = strSQL & "Efternavn = '" & Request.Form("Efternavn") & "',"
strSQL = strSQL & "kontakttype = '" & Request.Form("kontakttype") & "',"
strSQL = strSQL & "gade = '" & Request.Form("gade") & "',"
strSQL = strSQL & "postnr = " & Request.Form("Postnr") & ","
strSQL = strSQL & "postboks = '" & Request.Form("postboks") & "',"
strSQL = strSQL & "mail = '" & Request.Form("mail") & "',"
strSQL = strSQL & "organisation = '" & Request.Form("organisation") & "',"
strSQL = strSQL & "arbejdstelefon = '" & Request.Form("Arbejdstelefon") &
"',"
strSQL = strSQL & "lokalnr = " & Request.Form("lokalnr") & ","
strSQL = strSQL & "privattelefon'" & Request.Form("privattelefon") & "',"
strSQL = strSQL & "mobiltelefon = '" & Request.Form("mobiltelefon") & "',"
strSQL = strSQL & "fax = '" & Request.Form("fax") & "',"
strSQL = strSQL & "url = '" & Request.Form("url") & "',"
strSQL = strSQL & "bem = '" & Request.Form("Note") & "'"
strSQL = strSQL & " Where [Id] = "& Request.Form("id")
--
Jakob Andersen
http://www.stresscd.dk - Udnyt stress positivt
| |
Finn (30-07-2002)
| Kommentar Fra : Finn |
Dato : 30-07-02 10:55 |
|
Ja jeg har lavet en INSERT til nye data og den virker fint nok. Sakl man da
ikke lave VALUES ('...') ? Men dit forslag kan jeg ikke få til at virke
endnu.
Fejl =
Microsoft VBScript compilation error '800a0401'
Expected end of statement
/Drift-Teknik/Support/hotweb/UpdateQ3.asp, line 19
strSQL = strSQL & " SET Fornavn = '" & Request.Form("Fornavn") "',"
***************************************
> Du bygger din UPDATE forkert op, opbygningen minder mere om INSERT end en
> UPDATE.
>
> Prøv at lave din kode om til følgende:
>
> strSQL = "Update T_Adresser"
> strSQL = strSQL & "SET Fornavn = '" & Request.Form("Fornavn") "',"
> strSQL = strSQL & "Efternavn = '" & Request.Form("Efternavn") & "',"
> strSQL = strSQL & "kontakttype = '" & Request.Form("kontakttype") & "',"
> strSQL = strSQL & "gade = '" & Request.Form("gade") & "',"
> strSQL = strSQL & "postnr = " & Request.Form("Postnr") & ","
> strSQL = strSQL & "postboks = '" & Request.Form("postboks") & "',"
> strSQL = strSQL & "mail = '" & Request.Form("mail") & "',"
> strSQL = strSQL & "organisation = '" & Request.Form("organisation") & "',"
> strSQL = strSQL & "arbejdstelefon = '" & Request.Form("Arbejdstelefon") &
> "',"
> strSQL = strSQL & "lokalnr = " & Request.Form("lokalnr") & ","
> strSQL = strSQL & "privattelefon'" & Request.Form("privattelefon") & "',"
> strSQL = strSQL & "mobiltelefon = '" & Request.Form("mobiltelefon") & "',"
> strSQL = strSQL & "fax = '" & Request.Form("fax") & "',"
> strSQL = strSQL & "url = '" & Request.Form("url") & "',"
> strSQL = strSQL & "bem = '" & Request.Form("Note") & "'"
> strSQL = strSQL & " Where [Id] = "& Request.Form("id")
>
> --
> Jakob Andersen
> http://www.stresscd.dk - Udnyt stress positivt
>
>
| |
Peter Lykkegaard (30-07-2002)
| Kommentar Fra : Peter Lykkegaard |
Dato : 30-07-02 11:49 |
|
"Finn" <trebbien@city.dk> wrote in message
news:3d46627f$0$1244$edfadb0f@dspool01.news.tele.dk...
> Ja jeg har lavet en INSERT til nye data og den virker fint nok. Sakl man
da
> ikke lave VALUES ('...') ? Men dit forslag kan jeg ikke få til at virke
> endnu.
>
Kun ved INSERT statement
Ved UPDATE er syntaksen lidt anderledes
mvh/Peter Lykkegaard
| |
Jakob Møbjerg Nielse~ (30-07-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 30-07-02 11:40 |
|
Jakob Andersen wrote:
> strSQL = "Update T_Adresser"
strSQL = "Update T_Adresser "
> strSQL = strSQL & "privattelefon'" & Request.Form("privattelefon")...
strSQL = strSQL & "privattelefon = '" & Request.Form("privattelefon")...
--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
http://www.jakobnielsen.dk/ | -- Terry Pratchett, Reaper Man
| |
Finn (31-07-2002)
| Kommentar Fra : Finn |
Dato : 31-07-02 07:10 |
|
Nu fandt jeg en løsning.
Tak for hjælpen til alle
| |
Jørn Andersen (31-07-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 31-07-02 11:57 |
|
On Wed, 31 Jul 2002 08:09:30 +0200, "Finn" <trebbien@city.dk> wrote:
>Nu fandt jeg en løsning.
Hvilken?
>Tak for hjælpen til alle
Det er jo glimrende, men når nu flere har været involveret i et
problem, er det som regel den største tak at få at vide, hvad den
endelige løsning blev :)
--
Jørn Andersen,
Brønshøj
| |
|
|