/ 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
SQL sætning og Size?!
Fra : Peter Nielsen


Dato : 02-11-04 00:37

Hej NG

Jeg har lavet en SQL sætning her:

sql = "UPDATE shop SET "
sql = sql & "cat='"& cat &"', "
sql = sql & "product='"& product &"', "
sql = sql & "info='"& info &"', "
sql = sql & "price='"& price &"', "
sql = sql & "variations='"& variations &"', "
sql = sql & "weight='"& weight &"', "
sql = sql & "thumburl='"& thumburl &"', "
sql = sql & "picurl='"& picurl &"', "
sql = sql & "small="& small &", "
sql = sql & "medium="& medium &", "
sql = sql & "large="& large &", "
sql = sql & "xl="& xl &", "
sql = sql & "xxl="& xxl &", "
sql = sql & "xxxl="& xxxl &", "
sql = sql & "size="& size &", "
sql = sql & "cd="& cd &", "
sql = sql & "lp="& lp &" "
sql = sql & "WHERE id="& id


Og hvis jeg har den 4 nederste linie med.. den med Size i.. Så melder den
fejl.. men ellers så virker det fint.. og Size er en True/False felt i
databasen ligesom Small, Medium, Large, XL, XXL, XXXL, CD og LP er... men
hvis jeg har size med så melder den fejl.. alle felter bliver defineret..
altså som enten true eller false... sådan her:

size = false
if Request.Form("small") = "on" then
small = true
size = true
else
small = false
end if
if Request.Form("medium") = "on" then
medium = true
size = true
else
medium = false
end if
if Request.Form("large") = "on" then
large = true
size = true
else
large = false
end if
if Request.Form("xl") = "on" then
xl = true
size = true
else
xl = false
end if
if Request.Form("xxl") = "on" then
xxl = true
size = true
else
xxl = false
end if
if Request.Form("xxxl") = "on" then
xxxl = true
size = true
else
xxxl = false
end if
if Request.Form("cd") = "on" then
cd = true
else
cd = false
end if
if Request.Form("lp") = "on" then
lp = true
else
lp = false
end if

De linier står selvfølgelig oven over sql sætningen :)

Men size skulle også blive defineret :)

Nogle der ved hvorfor size ikke må være med?!

Peter



 
 
Peter Nielsen (02-11-2004)
Kommentar
Fra : Peter Nielsen


Dato : 02-11-04 00:42

Og tjekkede lige om det var et reseveret ord.. men det er det ikke.. ændrede
lige det hele til defsize.. og det virker stadig ikke..samme fejl?!

Peter



Peter Lykkegaard (02-11-2004)
Kommentar
Fra : Peter Lykkegaard


Dato : 02-11-04 12:43

"Peter Nielsen" wrote

> Jeg har lavet en SQL sætning her:
> Og hvis jeg har den 4 nederste linie med.. den med Size i.. Så melder den
> fejl.. men ellers så virker det fint..

Hvilken fejl får du?
Og hvilket databasesystem?

Gad vide om size er et reserveret ord i din database?
Du kan ev prøve at sætte firkantklammer omkring size?

sql = sql & "[size]="& size &", "

- Peter



Peter Nielsen (02-11-2004)
Kommentar
Fra : Peter Nielsen


Dato : 02-11-04 02:01

> Hvilken fejl får du?
> Og hvilket databasesystem?
ka ik huske fejlen.. det er Access..

> Gad vide om size er et reserveret ord i din database?
> Du kan ev prøve at sætte firkantklammer omkring size?
>
> sql = sql & "[size]="& size &", "

Det der virkede... men at ændre sizefeltet inde i databasen til at hedde
defsize virkede ik?!

Så tak for hjælpen! :)

> - Peter
>



Jens Gyldenkærne Cla~ (02-11-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 02-11-04 12:58

Peter Nielsen skrev:

> Jeg har lavet en SQL sætning her:

[snip - lang sql-opbygning]

Helt generelt råd ved problemer med sql-sætninger: Udskriv den
resulterende sql-sætning inden den eksekveres. Det er langt lettere at
finde evt. problemer når man kan se hvilken kommendo der sendes til
databasen.

Udskrivning af sql-sætninger er beskrevet i artiklen her:
<http://asp-faq.dk/article/?id=41>

--
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

terje (02-11-2004)
Kommentar
Fra : terje


Dato : 02-11-04 14:48


Peter Nielsen wrote:

En kommentar til logikken i din kode. Hvis du definerer dine variabler
som false før dine If..Then, så sparer du endel plass og koden blir
lettere å lese. Slik forteller du også ASP hva slags datatyper dette er
før du begynner å bruke dem, hvilket er en god ting. Dessuten ville jeg
ha lagt meg til den vane å gi variablene navn etter hvilke datatyper det
er snakk om, derfor skriver jeg bSize der b står for Boolean. Andre
foretrekker boolSize, men dette er en smakssak. Poenget er at benytter
et fast skjema som passer for deg

bSize = False
bSmall = False
bMedium = False
bLarge = False
bXL = False
bXxl = False
bXxxl = False
bLp = False
bCd = False

if Request.Form("small") = "on" then
small = true
size = true
end if
if Request.Form("medium") = "on" then
medium = true
size = true
end if
if Request.Form("large") = "on" then
large = true
size = true
end if
if Request.Form("xl") = "on" then
xl = true
size = true
end if
if Request.Form("xxl") = "on" then
xxl = true
size = true
end if
if Request.Form("xxxl") = "on" then
xxxl = true
size = true
end if
if Request.Form("cd") = "on" then
cd = true
end if
if Request.Form("lp") = "on" then
lp = true
end if

Til slutt en kommentar til måten du bygger opp din sql streng. De som
har testet hvordan ulike metoder presterer hva angår speed, hevder at
følgende er en bedre teknikk (merk parantesene):

sql = (sql & "cat='"& cat &"', ")

terje

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

Månedens bedste
Årets bedste
Sidste års bedste