"David Trasbo" <datra@mail.dk> wrote in
news:42dcd153$0$18644$14726298@news.sunsite.dk:
>
> Nu er det første gang jeg giver mig i kast med opdatering af data. Jeg
> synes det er svært.
>
> Jeg får fejlen:
>
> Fejltype:
> Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
> [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i
> UPDATE-sætningen.
>
> I følge IIS systemet er der en syntaksfejl i følgende sætning (med
> ASP):
>
> strSQL = "Update tblMenu set Name= '" &_
> Request.Form("Name") & "', URL= '" & Request.Form("URL") & "', Where
> Name = '" &_
> Request.Querystring("name") & "'"
>
> Jeg kan ikke vise jer sætningen uden ASP
Hvorfor ikke? Har du kigget på
http://asp-faq.dk/article/?id=41 ?
>, men jeg vil alligevel gætte
> at den ser sådan her ud:
>
> strSQL = "Update tblMenu set Name= 'Forsiden', URL= '/default.asp',
> Where Name = 'Forsiden'"
---------------------------------------------------------------------^
Hvis du gætter rigtigt, så er der i hvert fald et komma for meget.
Derudover er 'Name' et reserveret ord i Access, så det kan give nogle
problemer for dig. Du kan komme udenom dette ved at skrive Name i som
[Name]. Se [0] for mere om disse ord.
I øvrigt er ovenstående umiddelbart meget farlig kode at lægge ud på din
side. Den er følsom overfor "Sql injection", der giver mulighed for at
rette i (alle) data på din server. Se evt [1] for en forklaring på det.
Husk altid at validere data, der sendes til din side inden du smider dem
ned i basen.
[0]
http://support.microsoft.com/kb/q286335/
[1]
http://tsn.dk/articles.php?a=38
--
Jesper Stocholm
http://stocholm.dk
Japo stole sælges -
http://japoarmstole.stocholm.dk