/ 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 problemer
Fra : **[laessoe]**


Dato : 22-10-03 22:37

Jeg skal lave en UPDATE i min db.

Den ser således ud:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("tutorial.mdb")
Conn.Open DSN

Function checkBox2DBBool(boolVal)
If boolVal & "" = "" Then
checkBox2DBBool = "False"
Else
checkBox2DBBool = "True"
End If
End Function

Dim konto, bank, kontant, giro, bankcheck, vin,
gastronomi,vingastronomi

konto = checkBox2DBBool(Request.Form("konto"))
bank = checkBox2DBBool(Request.Form("bank"))
kontant = checkBox2DBBool(Request.Form("kontant"))
giro = checkBox2DBBool(Request.Form("giro"))
bankcheck = checkBox2DBBool(Request.Form("bankcheck"))
vin = checkBox2DBBool(Request.Form("vin"))
gastronomi = checkBox2DBBool(Request.Form("gastronomi"))
vingastronomi = checkBox2DBBool(Request.Form("vingastronomi"))

strSQL = "UPDATE personer "

strSQL = strSQL & "Firma, "
strSQL = strSQL & "Branche, "
strSQL = strSQL & "Kontaktperson, "
strSQL = strSQL & "CVRNummer, "
strSQL = strSQL & "Town, "
strSQL = strSQL & "Land, "
strSQL = strSQL & "Leveringsadresse, "
strSQL = strSQL & "Postnummer2, "
strSQL = strSQL & "Town2, "
strSQL = strSQL & "Land2, "
strSQL = strSQL & "Password, "
strSQL = strSQL & "Postnummer, "
strSQL = strSQL & "Website, "
strSQL = strSQL & "Telefonnummer, "
strSQL = strSQL & "Mobiltelefon, "
strSQL = strSQL & "Fax, "
strSQL = strSQL & "Email, "
strSQL = strSQL & "Adresse, "
strSQL = strSQL & "Noter, "
strSQL = strSQL & "Handler, "
strSQL = strSQL & "Comp, "
strSQL = strSQL & "Konto, "
strSQL = strSQL & "Bank, "
strSQL = strSQL & "Kontant, "
strSQL = strSQL & "Bankcheck, "
strSQL = strSQL & "Vin, "
strSQL = strSQL & "Gastronomi, "
strSQL = strSQL & "VinGastronomi, "
strSQL = strSQL & "Giro) "

strSQL = strSQL & "SET( "

strSQL = strSQL & "'" & Request.Form("Firma") & "', "
strSQL = strSQL & "'" & Request.Form("Branche") & "', "
strSQL = strSQL & "'" & Request.Form("Kontaktperson") & "', "
strSQL = strSQL & "'" & Request.Form("CVRNummer") & "', "
strSQL = strSQL & "'" & Request.Form("Town") & "', "
strSQL = strSQL & "'" & Request.Form("Land") & "', "
strSQL = strSQL & "'" & Request.Form("Leveringsadresse") & "', "
strSQL = strSQL & "'" & Request.Form("Postnummer2") & "', "
strSQL = strSQL & "'" & Request.Form("Town2") & "', "
strSQL = strSQL & "'" & Request.Form("Land2") & "', "
strSQL = strSQL & "'" & Request.Form("Password") & "', "
strSQL = strSQL & "'" & Request.Form("Postnummer") & "', "
strSQL = strSQL & "'" & Request.Form("Website") & "', "
strSQL = strSQL & "'" & Request.Form("Telefonnummer") & "', "
strSQL = strSQL & "'" & Request.Form("Mobiltelefon") & "', "
strSQL = strSQL & "'" & Request.Form("Fax") & "', "
strSQL = strSQL & "'" & Request.Form("Email") & "', "
strSQL = strSQL & "'" & Request.Form("Adresse") & "', "
strSQL = strSQL & "'" & Request.Form("Noter") & "', "
strSQL = strSQL & "'" & Request.Form("Handler") & "', "
strSQL = strSQL & "'" & Request.Form("Comp") & "', "
strSQL = strSQL & "" & konto & ", "
strSQL = strSQL & "" & bank & ", "
strSQL = strSQL & "" & kontant & ", "
strSQL = strSQL & "" & bankcheck & ", "
strSQL = strSQL & "" & vin & ", "
strSQL = strSQL & "" & gastronomi & ", "
strSQL = strSQL & "" & vingastronomi & ", "
strSQL = strSQL & "" & giro & ")"

Response.write strSQL
Response.end

Conn.Execute(strSQL)
%>

Her er hvad den udskriver:

UPDATE personer Firma, Branche, Kontaktperson, CVRNummer, Town,
Land, Leveringsadresse, Postnummer2, Town2, Land2, Password,
Postnummer, Website, Telefonnummer, Mobiltelefon, Fax, Email,
Adresse, Noter, Handler, Comp, Konto, Bank, Kontant, Bankcheck,
Vin, Gastronomi, VinGastronomi, Giro) SET( 'La Bottega',
'Importør af vin', 'Claus Rantzau', 'Ej oplyst', 'København S',
'Danmark', 'Bergthorasgade', '2300', 'København S', 'Danmark',
'Blackie', '2000', 'www.la-bottega.dk', '+45 61 69 67 62', 'Ej
oplyst', 'Ej oplyst', 'info@la-bottega.dk', 'Bergthorasgade',
'Flytter den 1/11-2003. ', '0 flasker', 'La Bottega', True, True,
True, True, True, True, True, True)

Hvad er der galt mons tro? Kan virkelig ikke regne den ud selv!



--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Torben Brandt (22-10-2003)
Kommentar
Fra : Torben Brandt


Dato : 22-10-03 22:41

**[laessoe]** skrev:

> strSQL = "UPDATE personer "
>
> strSQL = strSQL & "Firma, "
> strSQL = strSQL & "Branche, "
> strSQL = strSQL & "Kontaktperson, "
> strSQL = strSQL & "CVRNummer, "

<snip : lidt mere kode>

Din syntaks er forkert. Tror du blander UPDATE og INSERT INTO sammen.
Se den rigtige syntaks på
<URL:http://html.dk/tutorials/asp/lektion22.asp>

/Torben


**[laessoe]** (23-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 23-10-03 21:10

Torben skrev:
> Se den rigtige syntaks på
> <URL:http://html.dk/tutorials/asp/lektion22.asp>

OK - jeg fulgte eksemplet og udskriver nu:

UPDATE personer set Firma= 'La Bottega', Branche= 'Importør af vin',
Kontaktperson= 'Claus Ala Rantzau', CVRNummer= 'Ej oplyst', Town=
'København S', Land= 'Danmark', Leveringsadresse= 'Bergthorasgade',
Postnummer2= '2300', Town2= 'København S', Land2= 'Danmark', Paswword=
'Blackie', Postnummer= '2300', Website= 'www.la-bottega.dk',
Telefonnummer= '+45 61 69 67 62', Mobiltelefon= 'Ej oplyst', Fax= 'Ej
oplyst', Email= 'info@la-bottega.dk', Adresse= 'Bergthorasgade', Noter=
'Flytter den 1/11-2003. ', Handler '0 flasker', Comp= 'La Bottega',
Konto= 'True', Bank= 'True', Kontant= 'True', Bankcheck= 'True', Vin=
'False', Gastronomi= 'False', VinGastronomi= 'True', Giro= 'True', WHERE
Id = 70

Men det virker stadigvæk ikke.

Mit eget gæt:

1) Der er ' foran og efter værdierne??
2) mellemrum mellem = værdi ??

...e l l e r ...?


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Torben Brandt (23-10-2003)
Kommentar
Fra : Torben Brandt


Dato : 23-10-03 21:24

**[laessoe]** skrev:
> Torben skrev:
>
>>Se den rigtige syntaks på
>><URL:http://html.dk/tutorials/asp/lektion22.asp>
>
> OK - jeg fulgte eksemplet og udskriver nu:
>
> UPDATE personer set Firma= 'La Bottega', Branche= 'Importør af vin',
> Kontaktperson= 'Claus Ala Rantzau', CVRNummer= 'Ej oplyst', Town=
> 'København S', Land= 'Danmark', Leveringsadresse= 'Bergthorasgade',
> Postnummer2= '2300', Town2= 'København S', Land2= 'Danmark', Paswword=
> 'Blackie', Postnummer= '2300', Website= 'www.la-bottega.dk',
> Telefonnummer= '+45 61 69 67 62', Mobiltelefon= 'Ej oplyst', Fax= 'Ej
> oplyst', Email= 'info@la-bottega.dk', Adresse= 'Bergthorasgade', Noter=
> 'Flytter den 1/11-2003. ', Handler '0 flasker', Comp= 'La Bottega',
> Konto= 'True', Bank= 'True', Kontant= 'True', Bankcheck= 'True', Vin=
> 'False', Gastronomi= 'False', VinGastronomi= 'True', Giro= 'True', WHERE
> Id = 70

> Paswword= 'Blackie'
Skal der være en stavefejl i password.
> Handler '0 flasker'
Her mangler et lighedstegn (=).
> Giro= 'True', WHERE Id = 70
Der skal ikke være komma (,) før WHERE.

> Men det virker stadigvæk ikke.
Hvilken fejl får du?

> Mit eget gæt:
> 1) Der er ' foran og efter værdierne??
Det komme an på hvilken datatype felterne har. Der skal kun være plinger
(') hvis datatypen er tekst eller notat.

> 2) mellemrum mellem = værdi ??
Burde ikke have betydning.

/Torben


**[laessoe]** (24-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 24-10-03 09:13

> > Paswword= 'Blackie'
> Skal der være en stavefejl i password.
> > Handler '0 flasker'
> Her mangler et lighedstegn (=).
> > Giro= 'True', WHERE Id = 70
> Der skal ikke være komma (,) før WHERE.

Er tilrettet.

> > Men det virker stadigvæk ikke.
> Hvilken fejl får du?

Ingen fejl! Den response.writer som den skal "Firmaet er opdateret", men
ændringerne registreres ikke i db'en?

Når jeg udskriver sql'en:

UPDATE personer set Firma='La Bottega', Branche='Importør af vin',
Kontaktperson='Claus Ala Rantzau', CVRNummer='Ej oplyst', Town='København
S', Land='Danmark, Leveringsadresse='Bergthorasgade', Postnummer2='2300',
Town2='København S', Land2='Danmark', Password='Blackie', Postnummer='2300',
Website='www.la-bottega.dk', Telefonnummer='+45 61 69 67 62',
Mobiltelefon='Ej oplyst', Fax='Ej oplyst', Email='info@la-bottega.dk',
Adresse='Bergthorasgade', Noter='Flytter den 1/11-2003. ', Handler='0
flasker', Comp=La Bottega, Konto=True, Bank=True, Kontant=True,
Bankcheck=True, Vin=False, Gastronomi=False, VinGastronomi=True, Giro=True
WHERE Id = 70

Jeg har fjernet pingerne ved de felter der er true/false (som de er sat til
i db'en)

Hvad overser jeg siden den ikke skriver til db'en??

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørn Andersen (24-10-2003)
Kommentar
Fra : Jørn Andersen


Dato : 24-10-03 13:36

On Fri, 24 Oct 2003 08:13:18 +0000 (UTC), **[laessoe]**
<laessoe@yahoo.com> wrote:

>Ingen fejl! Den response.writer som den skal "Firmaet er opdateret", men
>ændringerne registreres ikke i db'en?
>
>Når jeg udskriver sql'en:
>
>UPDATE personer set Firma='La Bottega', Branche='Importør af vin',
>Kontaktperson='Claus Ala Rantzau', CVRNummer='Ej oplyst', Town='København
>S', Land='Danmark, Leveringsadresse='Bergthorasgade', Postnummer2='2300',
>Town2='København S', Land2='Danmark', Password='Blackie', Postnummer='2300',
>Website='www.la-bottega.dk', Telefonnummer='+45 61 69 67 62',
>Mobiltelefon='Ej oplyst', Fax='Ej oplyst', Email='info@la-bottega.dk',
>Adresse='Bergthorasgade', Noter='Flytter den 1/11-2003. ', Handler='0
>flasker', Comp=La Bottega, Konto=True, Bank=True, Kontant=True,
>Bankcheck=True, Vin=False, Gastronomi=False, VinGastronomi=True, Giro=True
>WHERE Id = 70
>
>Jeg har fjernet pingerne ved de felter der er true/false (som de er sat til
>i db'en)
>
>Hvad overser jeg siden den ikke skriver til db'en??

Jeg kan ikke overskue, hvad der er galt, men for at komme videre,
ville jeg "formindske" SQL'en kraftigt og så langsomt bygge på igen -
start fx med:
UPDATE personer set Firma='La Bottega' WHERE Id = 70

Hvis den virker, læg så 4-5 felter på ad gangen, indtil du får "fejl".


Good luck!

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

Jens Gyldenkærne Cla~ (24-10-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-10-03 10:30

**[laessoe]** skrev:

> Comp=La Bottega,

Her mangler stadig anførselstegn.


> Hvad overser jeg siden den ikke skriver til db'en??

Når du ikke får nogen fejl, er det måske fordi sql-sætningen slet
ikke udføres. Har du Conn.Execute (din_sql_variabel) umiddelbart
efter response.write-linjen?
--
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

**[laessoe]** (24-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 24-10-03 22:17

> > Comp=La Bottega,

Ja - den plus en ping

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

**[laessoe]** (24-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 24-10-03 22:19

> > Comp=La Bottega,

Ja den plus en ping et andet sted - nu virker det.

Thanx you - Som altid et super konstruktivt svar fra dig, Jens!

også tak til alle andre der har deltaget i spørgsmålet,
selvfølgelig!

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste