/ 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
Update
Fra : Klaus Egebjerg


Dato : 13-04-02 12:15

Hej

Jeg sidder lige og roder med et Update problem.

Det virker meget godt hvis jeg kun har et felt der skal opdateres. Så
anvender jeg sætningen:

strQ ="UPDATE Kunder SET Navn ='"&Navn1&"' WHERE Mail= '"& Mail1&"'"

Hvis jeg så skal have 2 felter updated så har jeg baladen. Jeg har forsøgt
både med

strQ ="UPDATE Kunder SET Navn ='"&Navn1&"' WHERE Mail= '"& Mail1&"'"
strQ = StrQ & "UPDATE Kunder SET Adresse1 ='"&Adresse11&"' WHERE Mail= '"&
Mail1&"'"
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in
query expression 'Mail= 'ke@brygladen.dk'UPDATE Kunder SET Adresse1 ='Løget
Høj 10 A 1 mf. tv.' WHERE Mail= 'ke@brygladen.dk''.

/retkunde.asp, line 102
giver følgende fejl:

og med:
strQ ="UPDATE Kunder SET Navn ='"&Navn1&"' WHERE Mail= '"& Mail1&"'"
strQ ="UPDATE Kunder SET Adresse1 ='"&Adresse11&"' WHERE Mail= '"& Mail1&"'"
Denne løsning updater bare den sidste linie

Er der nogen der kan hjælpe ?

Klaus



 
 
Jesper Stocholm (13-04-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 13-04-02 12:31

Klaus Egebjerg wrote in dk.edb.internet.webdesign.serverside.asp:
> Hej
>
> Jeg sidder lige og roder med et Update problem.
>
> Det virker meget godt hvis jeg kun har et felt der skal opdateres. Så
> anvender jeg sætningen:
>
> strQ ="UPDATE Kunder SET Navn ='"&Navn1&"' WHERE Mail= '"& Mail1&"'"
>
> Hvis jeg så skal have 2 felter updated så har jeg baladen. Jeg har forsøgt
> både med
>
> strQ ="UPDATE Kunder SET Navn ='"&Navn1&"' WHERE Mail= '"& Mail1&"'"
> strQ = StrQ & "UPDATE Kunder SET Adresse1 ='"&Adresse11&"' WHERE Mail= '"&
> Mail1&"'"
> Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
>
> [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator)
in
> query expression 'Mail= 'ke@brygladen.dk'UPDATE Kunder SET Adresse1 ='Løget
> Høj 10 A 1 mf. tv.' WHERE Mail= 'ke@brygladen.dk''.
>
> /retkunde.asp, line 102
> giver følgende fejl:
>
> og med:
> strQ ="UPDATE Kunder SET Navn ='"&Navn1&"' WHERE Mail= '"& Mail1&"'"
> strQ ="UPDATE Kunder SET Adresse1 ='"&Adresse11&"' WHERE Mail= '"&
Mail1&"'"
> Denne løsning updater bare den sidste linie
>

Måden at bruge UPDATE på er følgende:

UPDATE
TABLE1
SET
Field1 = Value1,Field2=Value2
WHERE
Field3 = Value3


Se i øvrigt

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_u
a-uz_82n9.asp?frame=true

:)

/Jesper Stocholm


--
KONKURRENCE PÅ HTML.dk:
fortæl hvordan din drømmeeditor ser ud
og vind luksus webhoteller fra Wannafind
KLIK HER! => http://www.html.dk/editor

Klaus Egebjerg (13-04-2002)
Kommentar
Fra : Klaus Egebjerg


Dato : 13-04-02 13:50



"Jesper Stocholm" <spam200204@stocholm.dk> wrote in message
news:a994u7$65i$1@sunsite.dk...
> Klaus Egebjerg wrote in dk.edb.internet.webdesign.serverside.asp:
> > Hej
> >
> > Jeg sidder lige og roder med et Update problem.
> >
> > Det virker meget godt hvis jeg kun har et felt der skal opdateres. Så
> > anvender jeg sætningen:
> >
> > strQ ="UPDATE Kunder SET Navn ='"&Navn1&"' WHERE Mail= '"& Mail1&"'"
> >
> > Hvis jeg så skal have 2 felter updated så har jeg baladen. Jeg har
forsøgt
> > både med
> >
> > strQ ="UPDATE Kunder SET Navn ='"&Navn1&"' WHERE Mail= '"& Mail1&"'"
> > strQ = StrQ & "UPDATE Kunder SET Adresse1 ='"&Adresse11&"' WHERE Mail=
'"&
> > Mail1&"'"
> > Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
> >
> > [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing
operator)
> in
> > query expression 'Mail= 'ke@brygladen.dk'UPDATE Kunder SET Adresse1
='Løget
> > Høj 10 A 1 mf. tv.' WHERE Mail= 'ke@brygladen.dk''.
> >
> > /retkunde.asp, line 102
> > giver følgende fejl:
> >
> > og med:
> > strQ ="UPDATE Kunder SET Navn ='"&Navn1&"' WHERE Mail= '"& Mail1&"'"
> > strQ ="UPDATE Kunder SET Adresse1 ='"&Adresse11&"' WHERE Mail= '"&
> Mail1&"'"
> > Denne løsning updater bare den sidste linie
> >
>
> Måden at bruge UPDATE på er følgende:
>
> UPDATE
> TABLE1
> SET
> Field1 = Value1,Field2=Value2
> WHERE
> Field3 = Value3
>
>
> Se i øvrigt
>
>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_
u
> a-uz_82n9.asp?frame=true
>
Jeg har nu lavet scriptet om til:

Select Case Trim(Request.Form("DO"))
Case "Opdater"
Navn1 = Trim(Request.Form("Navn"))
Adresse11 = Trim(Request.Form("Adresse1"))
Adresse21 = Trim(Request.Form("Adresse2"))
Postnr1 = Trim(Request.Form("Postnr"))
By1 = Trim(Request.Form("By"))
Telefon1 = Trim(Request.Form("Telefon"))
Mail1 = Trim(Request.Form("Mail"))
Password1 = Trim(Request.Form("Password"))
Liter1 = Trim(Request.Form("Liter"))
CStr Ret (Kunder)
End Select

Function Ret (Kunder)
OpenConn("opskrifter.mdb")
Set rs = Server.CreateObject ("ADODB.Recordset")
rs.ActiveConnection = Conn
strNavn1 = Trim(Request.Form("Navn"))
strQ = "SELECT * FROM Kunder where Mail ='" & strMail & "'"
Set rs = Conn.Execute (strQ)

UPDATE Kunder
SET Navn = "'Navn1'"
where Mail ="'" & strMail & "'"

Conn.Close
Set rs = Nothing
Set Conn = Nothing
End Function

Desværre så får jeg stadigvæk en fejl i UPDATE sætningen. Forslag ?

Klaus



Jørn Andersen (13-04-2002)
Kommentar
Fra : Jørn Andersen


Dato : 13-04-02 15:45

On Sat, 13 Apr 2002 14:49:30 +0200, "Klaus Egebjerg"
<klausegebjerg@get2net.dk> wrote:

<snip en hel masse overflødigt>

>Jeg har nu lavet scriptet om til:

Hvorfor det?
Pas på med at lave for store komplekse "sammen-scriptninger", før du
har styr på de enkelte dele :)

>Select Case Trim(Request.Form("DO"))
> Case "Opdater"
> Navn1 = Trim(Request.Form("Navn"))
> Adresse11 = Trim(Request.Form("Adresse1"))
> Adresse21 = Trim(Request.Form("Adresse2"))
> Postnr1 = Trim(Request.Form("Postnr"))
> By1 = Trim(Request.Form("By"))
> Telefon1 = Trim(Request.Form("Telefon"))
> Mail1 = Trim(Request.Form("Mail"))
> Password1 = Trim(Request.Form("Password"))
> Liter1 = Trim(Request.Form("Liter"))

- så vidt så godt (bortset fra, at du jo ikke bruger ret meget af
ovenstående ...)

> CStr Ret (Kunder)

Hvad er det egentlig du vil her?
Formentlig vil du opdatere kundelisten ved at putte opdateringsen over
i en funktion?
Så skal CStr væk - og funktionen rettes lidt. Linien bliver så til:
Ret()

> End Select


>Function Ret (Kunder)

- Du anvender jo ikke noget input, så:
Function Ret()

>OpenConn("opskrifter.mdb")
>Set rs = Server.CreateObject ("ADODB.Recordset")
>rs.ActiveConnection = Conn

- der er ikke behov for Recordset, hvis du bare vil fyre en Update af,
så drop de to foregående linier

>strNavn1 = Trim(Request.Form("Navn"))

- den har du ellers defineret ovenfor til Navn1 - men OK (ellers drop
den)

>strQ = "SELECT * FROM Kunder where Mail ='" & strMail & "'"
>Set rs = Conn.Execute (strQ)

Hvorfor vil du hente noget, når du i virkeligheden vil opdatere?
Væk med de 2 linier.

>UPDATE Kunder
>SET Navn = "'Navn1'"
>where Mail ="'" & strMail & "'"

UPDATE er ikke en VBScript-kommando, men en SQL-kommando-streng
ligesom SELECT - så:

strQ = "UPDATE Kunder" & _
" SET Navn = '" & Navn1 & "'" & _
" WHERE Mail = '" & strMail & "'"

Conn.Execute(strQ)

>Conn.Close
>Set rs = Nothing
- Denne linie kan udgå, da du ikke har brug for rs

>Set Conn = Nothing
>End Function


>Desværre så får jeg stadigvæk en fejl i UPDATE sætningen. Forslag ?

Håber det hjalp lidt - ellers kom tilbage med hvad fejlen er + hvordan
din SQL-streng ser ud, når du udskriver den med
Response.Write strQ


Good luck,
Jørn

--
Jørn Andersen,
Brønshøj

Jørn Andersen (13-04-2002)
Kommentar
Fra : Jørn Andersen


Dato : 13-04-02 15:26

On Sat, 13 Apr 2002 13:15:11 +0200, "Klaus Egebjerg"
<klausegebjerg@get2net.dk> wrote:

>strQ ="UPDATE Kunder SET Navn ='"&Navn1&"' WHERE Mail= '"& Mail1&"'"
>strQ ="UPDATE Kunder SET Adresse1 ='"&Adresse11&"' WHERE Mail= '"& Mail1&"'"
>Denne løsning updater bare den sidste linie

- naturligt nok, da du jo overskriver den første med den sidste :)

Prøv med:
strQ = "UPDATE Kunder SET Navn ='" & Navn1 & "'" & _
" Adresse1 = '" & Adresse11 & "' WHERE Mail = '" & Mail1 & "'"

'- Og hvis din Connection hedder Conn:
Conn.Execute(strQ)

Good luck,
Jørn

--
Jørn Andersen,
Brønshøj

Klaus Egebjerg (14-04-2002)
Kommentar
Fra : Klaus Egebjerg


Dato : 14-04-02 16:56


"Jørn Andersen" <jorn@jorna.dk> wrote in message
news:alfgbu0dvgtpu8sb598nk766uumvps2d1f@4ax.com...
> On Sat, 13 Apr 2002 13:15:11 +0200, "Klaus Egebjerg"
> <klausegebjerg@get2net.dk> wrote:
>
> >strQ ="UPDATE Kunder SET Navn ='"&Navn1&"' WHERE Mail= '"& Mail1&"'"
> >strQ ="UPDATE Kunder SET Adresse1 ='"&Adresse11&"' WHERE Mail= '"&
Mail1&"'"
> >Denne løsning updater bare den sidste linie
>
> - naturligt nok, da du jo overskriver den første med den sidste :)
>
> Prøv med:
> strQ = "UPDATE Kunder SET Navn ='" & Navn1 & "'" & _
> " Adresse1 = '" & Adresse11 & "' WHERE Mail = '" & Mail1 & "'"
>
> '- Og hvis din Connection hedder Conn:
> Conn.Execute(strQ)
>
> Good luck,
> Jørn
>
> --
> Jørn Andersen,
> Brønshøj

Hej Igen

Jeg har nu lavet Update funktionen om, så den ser således ud:

strQ = "UPDATE Kunder SET Navn ='"&Navn1&"'" & "Adresse1 ='"&Adresse11&"'
WHERE Mail = '"&Mail1&"'"

Desværre så fremkommer følgende fejl:

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

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in
query expression ''0'Adresse1 ='Løget Høj 10 A 1 mf. tv.''.

/retkunde.asp, line 102

Hvis jeg laver sætningen om, så den kun Updater Navn med følgende sætning:

strQ = "UPDATE Kunder SET Navn ='"&Navn1&"' WHERE Mail = '"&Mail1&"'"

Så virker det meget godt.

Underligt ikk´ ?

Klaus



Jesper Stocholm (14-04-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 14-04-02 17:04

Klaus Egebjerg wrote in
news:EGhu8.29695$iY5.1136083@news010.worldonline.dk:

> "Jørn Andersen" <jorn@jorna.dk> wrote in message
> news:alfgbu0dvgtpu8sb598nk766uumvps2d1f@4ax.com...

>> Prøv med:
>> strQ = "UPDATE Kunder SET Navn ='" & Navn1 & "'" & _
>> " Adresse1 = '" & Adresse11 & "' WHERE Mail = '" & Mail1 & "'"
>>
>
> Jeg har nu lavet Update funktionen om, så den ser således ud:
>
> strQ = "UPDATE Kunder SET Navn ='"&Navn1&"'" & "Adresse1
> ='"&Adresse11&"' WHERE Mail = '"&Mail1&"'"
>
> Desværre så fremkommer følgende fejl:
>
> Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
>
> [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing
> operator) in query expression ''0'Adresse1 ='Løget Høj 10 A 1 mf.
> tv.''.

du har ikke kigget godt nok i det eksempel jeg gav dig ... eller
dokumentationen fra microsoft.com

Du (og Jørn) mangler et komma imellem de to felter der ønskes opdateret.

Altså:

strQ = "UPDATE Kunder SET Navn ='" & Navn1 & "'," & "Adresse1 ='" & Adresse11 & "' WHERE Mail = '" & Mail1 & "'"
-----------------------------------------------^

:)

--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Klaus Egebjerg (14-04-2002)
Kommentar
Fra : Klaus Egebjerg


Dato : 14-04-02 17:13


"Jesper Stocholm" <spam200204@stocholm.dk> wrote in message
news:Xns91F0B7C80B207spamstocholmdk@192.38.208.81...
> Klaus Egebjerg wrote in
> news:EGhu8.29695$iY5.1136083@news010.worldonline.dk:
>
> > "Jørn Andersen" <jorn@jorna.dk> wrote in message
> > news:alfgbu0dvgtpu8sb598nk766uumvps2d1f@4ax.com...
>
> >> Prøv med:
> >> strQ = "UPDATE Kunder SET Navn ='" & Navn1 & "'" & _
> >> " Adresse1 = '" & Adresse11 & "' WHERE Mail = '" & Mail1 & "'"
> >>
> >
> > Jeg har nu lavet Update funktionen om, så den ser således ud:
> >
> > strQ = "UPDATE Kunder SET Navn ='"&Navn1&"'" & "Adresse1
> > ='"&Adresse11&"' WHERE Mail = '"&Mail1&"'"
> >
> > Desværre så fremkommer følgende fejl:
> >
> > Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
> >
> > [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing
> > operator) in query expression ''0'Adresse1 ='Løget Høj 10 A 1 mf.
> > tv.''.
>
> du har ikke kigget godt nok i det eksempel jeg gav dig ... eller
> dokumentationen fra microsoft.com
>
> Du (og Jørn) mangler et komma imellem de to felter der ønskes opdateret.
>
> Altså:
>
> strQ = "UPDATE Kunder SET Navn ='" & Navn1 & "'," & "Adresse1 ='" &
Adresse11 & "' WHERE Mail = '" & Mail1 & "'"
> -----------------------------------------------^
>
> :)

Hej

Ja nu virker det sku. Det er utroligt hvad et komma kan gøre

Klaus




Jørn Andersen (15-04-2002)
Kommentar
Fra : Jørn Andersen


Dato : 15-04-02 00:37

On Sun, 14 Apr 2002 16:04:05 +0000 (UTC), Jesper Stocholm
<spam200204@stocholm.dk> wrote:

>Du (og Jørn) mangler et komma imellem de to felter der ønskes opdateret.

Ups, sorry!

Mvh. Jørn

--
Jørn Andersen,
Brønshøj

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

Månedens bedste
Årets bedste
Sidste års bedste