/ 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
Mysql og ASP i indkøbskurv
Fra : Mikkel Knudsen


Dato : 31-07-03 03:14

Jeg får følgende fejl, som jeg ikke helt forstår.... Håber at der er nogen
genier, som jeg hjælpe mig


ADODB.Recordset.1 error '80004005'

SQLState: 42000
Native Error Code: 1064
[TCX][MyODBC]You have an error in your SQL syntax near 'SELECT Pris FROM
Produkter WHERE ProduktID = ShoppingCartItems.ArticleID)) AS Ar' at line 1


/viskurv.asp, line 68



Programkoden ser således ud

SQLstmt = "SELECT "
SQLstmt = SQLstmt & "(ArticleAmount * (SELECT Pris FROM Produkter WHERE
ProduktID = ShoppingCartItems.ArticleID)) AS ArticlePriceTotal, "
SQLstmt = SQLstmt & "(SELECT Pris FROM Produkter WHERE ProduktID =
ShoppingCartItems.ArticleID) AS ArticlePrice, "
SQLstmt = SQLstmt & "(SELECT Produktbeskrivelse FROM Produkter WHERE
ProduktID = ShoppingCartItems.ArticleID) AS ArticleText, "
SQLstmt = SQLstmt & "ArticleID, ArticleAmount "
SQLstmt = SQLstmt & "FROM ShoppingCartItems WHERE CartID = " &
Session("CartID") & "; "
(dette er linie 68) Set RSList = Conn.Execute(SQLstmt)




 
 
Jørn Andersen (30-07-2003)
Kommentar
Fra : Jørn Andersen


Dato : 30-07-03 19:33

On Wed, 30 Jul 2003 19:13:43 -0700, "Mikkel Knudsen"
<trabjerg_1981@hotmail.com> wrote:

>Jeg får følgende fejl, som jeg ikke helt forstår.... Håber at der er nogen
>genier, som jeg hjælpe mig

Prøv at udskrive den resulterende SQL-streng.
<url: http://www.asp-faq.dk/article/?id=41>
- så er det ofte noget lettere at se, hvad der går galt.

Jeg synes din SQL ser noget kryptisk ud: Kan man gange med en
sub-select ...???

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

Mikkel Trabjerg Knud~ (30-07-2003)
Kommentar
Fra : Mikkel Trabjerg Knud~


Dato : 30-07-03 20:25

Det er lavet til accessdatabase og så er jeg ved at omskrive,så det er ikke
sikkert at man kan sub-select med mysql

--

Best Regards/Med venlig hilsen

Mikkel Traberg Knudsen
---------
www.modify.dk - Nokia Reservedele - Unlock
Husk at du kan betale med Dankort/VISA
"Jørn Andersen" <jorn@jorna.dk> wrote in message
news:ri3givojfaltd34pgj10fon9ihu66c5i2l@4ax.com...
> On Wed, 30 Jul 2003 19:13:43 -0700, "Mikkel Knudsen"
> <trabjerg_1981@hotmail.com> wrote:
>
> >Jeg får følgende fejl, som jeg ikke helt forstår.... Håber at der er
nogen
> >genier, som jeg hjælpe mig
>
> Prøv at udskrive den resulterende SQL-streng.
> <url: http://www.asp-faq.dk/article/?id=41>
> - så er det ofte noget lettere at se, hvad der går galt.
>
> Jeg synes din SQL ser noget kryptisk ud: Kan man gange med en
> sub-select ...???
>
> --
> Jørn Andersen,
> Brønshøj



Ukendt (31-07-2003)
Kommentar
Fra : Ukendt


Dato : 31-07-03 09:21


"Mikkel Knudsen" <trabjerg_1981@hotmail.com> skrev i en meddelelse
news:3f27fccf$0$6837$ba624c82@nntp02.dk.telia.net...
> Jeg får følgende fejl, som jeg ikke helt forstår.... Håber at der er nogen
> genier, som jeg hjælpe mig
>
>
> ADODB.Recordset.1 error '80004005'
>
> SQLState: 42000
> Native Error Code: 1064
> [TCX][MyODBC]You have an error in your SQL syntax near 'SELECT Pris FROM
> Produkter WHERE ProduktID = ShoppingCartItems.ArticleID)) AS Ar' at line 1
>

Det er fordu du ikke har angivet tabellen ShoppingCartItems.Prøv at skriv:
"SELECT Pris FROM Produkter, ShoppingCartItems WHERE osv.osv"

Det er jo en simpel join du laver uden at definere begge tabeller

>
> /viskurv.asp, line 68
>
>
>
> Programkoden ser således ud
>
> SQLstmt = "SELECT "
> SQLstmt = SQLstmt & "(ArticleAmount * (SELECT Pris FROM Produkter WHERE
> ProduktID = ShoppingCartItems.ArticleID)) AS ArticlePriceTotal, "
> SQLstmt = SQLstmt & "(SELECT Pris FROM Produkter WHERE ProduktID =
> ShoppingCartItems.ArticleID) AS ArticlePrice, "
> SQLstmt = SQLstmt & "(SELECT Produktbeskrivelse FROM Produkter WHERE
> ProduktID = ShoppingCartItems.ArticleID) AS ArticleText, "
> SQLstmt = SQLstmt & "ArticleID, ArticleAmount "
> SQLstmt = SQLstmt & "FROM ShoppingCartItems WHERE CartID = " &
> Session("CartID") & "; "
> (dette er linie 68) Set RSList = Conn.Execute(SQLstmt)
>
>
>



Ukendt (31-07-2003)
Kommentar
Fra : Ukendt


Dato : 31-07-03 09:26

Jeg vil foreslå at du bruger nogle INNER JOINs i stedet for indelejrede
forespørgsler



Ukendt (31-07-2003)
Kommentar
Fra : Ukendt


Dato : 31-07-03 09:31


"*XxX*" <fatman00hot-at-hotmail.com> skrev i en meddelelse
news:3f28d23e$0$24709$edfadb0f@dread14.news.tele.dk...
> Jeg vil foreslå at du bruger nogle INNER JOINs i stedet for indelejrede
> forespørgsler

Du kan evt. kigge længere ned i gruppe den er en der hedder 3 x join i SQL
som viser hvordan man kan lave en indlejret forespørgsel til INNER JOIN
>
>



Mikkel Trabjerg Knud~ (31-07-2003)
Kommentar
Fra : Mikkel Trabjerg Knud~


Dato : 31-07-03 10:03

Tak for hjælpen..
Det virker nu

--

Best Regards/Med venlig hilsen

Mikkel Traberg Knudsen
---------
www.modify.dk - Nokia Reservedele - Unlock
Husk at du kan betale med Dankort/VISA
"*XxX*" <fatman00hot-at-hotmail.com> wrote in message
news:3f28d33c$0$24659$edfadb0f@dread14.news.tele.dk...
>
> "*XxX*" <fatman00hot-at-hotmail.com> skrev i en meddelelse
> news:3f28d23e$0$24709$edfadb0f@dread14.news.tele.dk...
> > Jeg vil foreslå at du bruger nogle INNER JOINs i stedet for indelejrede
> > forespørgsler
>
> Du kan evt. kigge længere ned i gruppe den er en der hedder 3 x join i SQL
> som viser hvordan man kan lave en indlejret forespørgsel til INNER JOIN
> >
> >
>
>



Jørn Andersen (31-07-2003)
Kommentar
Fra : Jørn Andersen


Dato : 31-07-03 13:10

On Thu, 31 Jul 2003 11:03:18 +0200, "Mikkel Trabjerg Knudsen"
<trabjerg@modify.dk> wrote:

>Tak for hjælpen..
>Det virker nu

Og hvad blev løsningen?
Det anses for almindelighed høflighed, at man melder tilbage i
gruppen, når man har stillet et spørgsmål ...

Tænk på, at der måske er flere folk, som har siddet og filosoferet
over en løsning på dit problem. Eller andre, som har tænkt: "Det
problem har jeg også, jeg følger lige med i, hvad løsningen er, frem
for at stille det samme spørgsmål selv."
Desuden er vi en del, der bruge Usenet som en slags opslagsværk, når
vi får et problem - og så er det jo irriterende, hvis det rigtige
spørgsmål er stillet, men der ikke er noget svar ...

PS: Gider du tage et kig på:
<URL: http://www.usenet.dk/netikette/citatteknik.html>

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

Mikkel Trabjerg Knud~ (31-07-2003)
Kommentar
Fra : Mikkel Trabjerg Knud~


Dato : 31-07-03 22:17

Her er løsningen så:

SQLstmt = "SELECT (ShoppingCartItems.ArticleAmount * Produkter.Pris) AS
ArticlePriceTotal, "
SQLstmt = SQLstmt & "Produkter.Pris AS ArticlePrice, "
SQLstmt = SQLstmt & "Produkter.Produktbeskrivelse AS ArticleText, "
SQLstmt = SQLstmt & "ShoppingCartItems.ArticleID,
ShoppingCartItems.ArticleAmount "
SQLstmt = SQLstmt & "FROM ShoppingCartItems, Produkter "
SQLstmt = SQLstmt & "WHERE Produkter.ProduktID =
ShoppingCartItems.ArticleID "
SQLstmt = SQLstmt & "AND CartID = " & Session("CartID")
Set RSList = Conn.Execute(SQLstmt)



--

Best Regards/Med venlig hilsen

Mikkel Traberg Knudsen
---------
www.modify.dk - Nokia Reservedele - Unlock
Husk at du kan betale med Dankort/VISA
"Jørn Andersen" <jorn@jorna.dk> wrote in message
news:ci1iivsvj05tnv850m9tt376sbjia6mjl6@4ax.com...
> On Thu, 31 Jul 2003 11:03:18 +0200, "Mikkel Trabjerg Knudsen"
> <trabjerg@modify.dk> wrote:
>
> >Tak for hjælpen..
> >Det virker nu
>
> Og hvad blev løsningen?
> Det anses for almindelighed høflighed, at man melder tilbage i
> gruppen, når man har stillet et spørgsmål ...
>
> Tænk på, at der måske er flere folk, som har siddet og filosoferet
> over en løsning på dit problem. Eller andre, som har tænkt: "Det
> problem har jeg også, jeg følger lige med i, hvad løsningen er, frem
> for at stille det samme spørgsmål selv."
> Desuden er vi en del, der bruge Usenet som en slags opslagsværk, når
> vi får et problem - og så er det jo irriterende, hvis det rigtige
> spørgsmål er stillet, men der ikke er noget svar ...
>
> PS: Gider du tage et kig på:
> <URL: http://www.usenet.dk/netikette/citatteknik.html>
>
> --
> Jørn Andersen,
> Brønshøj



Ukendt (01-08-2003)
Kommentar
Fra : Ukendt


Dato : 01-08-03 07:56


"Mikkel Trabjerg Knudsen" <trabjerg@modify.dk> skrev i en meddelelse
news:3f29874e$0$7807$ba624c82@nntp03.dk.telia.net...
> Her er løsningen så:
>
> SQLstmt = "SELECT (ShoppingCartItems.ArticleAmount * Produkter.Pris) AS
> ArticlePriceTotal, "
> SQLstmt = SQLstmt & "Produkter.Pris AS ArticlePrice, "
> SQLstmt = SQLstmt & "Produkter.Produktbeskrivelse AS ArticleText, "
> SQLstmt = SQLstmt & "ShoppingCartItems.ArticleID,
> ShoppingCartItems.ArticleAmount "
> SQLstmt = SQLstmt & "FROM ShoppingCartItems, Produkter "
> SQLstmt = SQLstmt & "WHERE Produkter.ProduktID =
> ShoppingCartItems.ArticleID "
> SQLstmt = SQLstmt & "AND CartID = " & Session("CartID")
> Set RSList = Conn.Execute(SQLstmt)
>
>
>

Prøv at bruger INNER JOINs, jeg mener at have hørt at det er bedre en simple
joins rent performance mæssigt. Så vil din kode bliver til noget ala:

"SELECT (ShoppingCartItems.ArticleAmount * Produkter.Pris) AS
ArticlePriceTotal, Produkter.Pris AS ArticlePrice,
Produkter.Produktbeskrivelse AS ArticleText, ShoppingCartItems.ArticleID,
ShoppingCartItems.ArticleAmount FROM ShoppingCartItems INNER JOIN Produkter
ON Produkter.ProduktID = ShoppingCartItems.ArticleID WHERE CartID = " &
Session("CartID")



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