/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Opdater i database
Fra : Keld Fuglsang


Dato : 18-04-01 17:21

Hej

jeg skal have lavet så en bruger kan opdatere i en database via en HTML
formular men jeg får denne fejl :

Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Invalid SQL statement; expected
'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.

/opdater.asp, linje 26

og mit ASP script ser sådan ud :
<html>
<title>The Complex</title>
<head>
</head>
<body>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("borde.mdb")
Conn.Open DSN


' SQL sætning opbygges
strSQL = "Update borde set"
strSQL = strSQL & "Navn= '" & Request.Form("Navn") ', "
strSQL = strSQL & "Nickname= '" & Request.Form("Nickname") ', "
strSQL = strSQL & "Adresse= '" & Request.Form("adresse") ', "
strSQL = strSQL & "By= '" & Request.Form("by") ', "
strSQL = strSQL & "Post nummer= '" & Request.Form("post nummer") ', "
strSQL = strSQL & "Email= '" & Request.Form("email") ', "
strSQL = strSQL & "Hjemmeside= '" & Request.Form("hjemmeside") ', "
strSQL = strSQL & " Where bord = 1"

' SQL sætning eksekveres
Conn.Execute("strSQL")

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
<h1>Databasen er opdateret!</h1>
</body>
</html>

Mvh
Kenneth Fuglsang
kenneth-fuglsang@pc.dk



 
 
Jørn Andersen (18-04-2001)
Kommentar
Fra : Jørn Andersen


Dato : 18-04-01 20:51

On Wed, 18 Apr 2001 18:21:29 +0200, "Keld Fuglsang"
<keld-fuglsang@mail.dk> wrote:

Hej Keld,

Sjovt nok har jeg netop i dag tumlet med samme problem. Min løsning
var:
<SNIP>

>strSQL = strSQL & "By= '" & Request.Form("by") ', "

Prøv med:
>strSQL = strSQL & "[By]= '" & Request.Form("by") ', "

- altså firkant parantes omkring By - det er sikkert et reserveret ord
eller noget i den retning.

Good luck,
Jørn



Lauritz Jensen (18-04-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 18-04-01 20:56

Keld Fuglsang wrote:
>
> ' SQL sætning opbygges
> strSQL = "Update borde set"
> strSQL = strSQL & "Navn= '" & Request.Form("Navn") ', "

Jeg tror du gerne vil have et mellemrum imellem "set" og "navn" ((synges
på bakke-snagvendt-sang-melodien =>) ellers bliver det til "setnavn")

> [... senere i samme sql streng]
> strSQL = strSQL & "Hjemmeside= '" & Request.Form("hjemmeside") ', "
> strSQL = strSQL & " Where bord = 1"

Men jeg tror ikke du gerne vil have et "," inden "where".

Hint: Brug en response.write til at skrive din sql ud i browseren (evt.
med hjælp fra noget <pre></pre>) og klip-kopier det ind i en forspørgsel
i access. Så får du nogle udenmærkede fejlbeskrivelser.

--
Lauritz

Lauritz Jensen (18-04-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 18-04-01 20:58

Keld Fuglsang wrote:
>
> strSQL = strSQL & "Post nummer= '" & Request.Form("post nummer") ', "

(jeg havde ikke set den med "by", pinligt, men jeg har fundet en til)

Du bliver nok også nød til at skrive "[Post nummer]", da der er
mellemrum i kolonnenavnet (dårlig stil).

--
Lauritz

Lauritz Jensen (18-04-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 18-04-01 21:01

Keld Fuglsang wrote:
>
> <html>
> <title>The Complex</title>
> <head>
> </head>

(mere, det her er jo en sand guldgruppe

Put <title></title> ind i <head></head>, ellers er der jo ikke nogen
grund til at have en head-sektion overhovedet (den er afair ikke
påkrævet) (og nej, det har ikke noget med sql'en af gøre).

> Conn.Execute("strSQL")

jeg tror du mener Conn.Execute(strSQL) (ellers prøver du har udfører en
meget lille sql

--
Lauritz

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408875
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste