/ 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
INNER JOIN og WHERE, Access Database
Fra : andreas2411@gmail.co~


Dato : 05-11-06 14:10

Hej,

Jeg har et problem med at få en SQL-forespørgsel på en Access
database til at virke i ASP. SQLen er som følger:

SELECT SUM(totalQuotedValue * assumedScorePercentage / 100) AS
scoreValue, area FROM Scorelist INNER JOIN ScorelistArea ON
Scorelist.areaID = ScorelistArea.areaID WHERE Scorelist.status = "Open"
GROUP BY area ORDER BY area.

Hvis jeg kører det som en forespørgsel i Access virker det præcist
som jeg gerne vil have det til, men når jeg kører det via ASP får
jeg følgende fejl:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected
1.

Problemet synes at være med WHERE delen - hvis jeg fjerner den virker
det. Hvad gør jeg galt?

På forhånd tak
/Andreas


 
 
Michael Zedeler (05-11-2006)
Kommentar
Fra : Michael Zedeler


Dato : 05-11-06 14:19

andreas2411@gmail.com skrev:
> Hej,
>
> Jeg har et problem med at få en SQL-forespørgsel på en Access
> database til at virke i ASP. SQLen er som følger:
>
> SELECT SUM(totalQuotedValue * assumedScorePercentage / 100) AS
> scoreValue, area FROM Scorelist INNER JOIN ScorelistArea ON
> Scorelist.areaID = ScorelistArea.areaID WHERE Scorelist.status = "Open"
> GROUP BY area ORDER BY area.
>
> Hvis jeg kører det som en forespørgsel i Access virker det præcist
> som jeg gerne vil have det til, men når jeg kører det via ASP får
> jeg følgende fejl:
>
> Error Type:
> Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
> [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected
> 1.
>
> Problemet synes at være med WHERE delen - hvis jeg fjerner den virker
> det. Hvad gør jeg galt?

Det er muligt at Microsoft har det fint med ugyldig SQL-syntaks, så
dette ikke løser dit problem, men i normal SQL skriver man
strengkonstanter med enkelt-pling, så der skal stå

SELECT SUM(totalQuotedValue * assumedScorePercentage / 100) AS
scoreValue, area FROM Scorelist INNER JOIN ScorelistArea ON
Scorelist.areaID = ScorelistArea.areaID WHERE Scorelist.status = 'Open'
GROUP BY area ORDER BY area.

Dobbeltanførselstegn bruges til identifiers, så du f. eks. kan have et
/felt/ med mellemrum i navnet (virker kun i udvalgte rdbms).

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Lars Hoffmann (05-11-2006)
Kommentar
Fra : Lars Hoffmann


Dato : 05-11-06 14:21

andreas2411@gmail.com wrote:

> Problemet synes at være med WHERE delen - hvis jeg fjerner den virker
> det. Hvad gør jeg galt?

Problemet ligger muligvis hos dine dobbelte anførselstegn om ordet
open. Dobbeltanførselstegn er i ASP en betegnelse for start/stop af en
streng og det giver problermer når du i SQL bruger samme syntax.

Erstat "open" med 'open' og se om det ikke hjælper.

Med venlig hilsen
Lars Hoffmann


andreas2411@gmail.co~ (05-11-2006)
Kommentar
Fra : andreas2411@gmail.co~


Dato : 05-11-06 14:38


Lars Hoffmann skrev:
> andreas2411@gmail.com wrote:
>
> > Problemet synes at være med WHERE delen - hvis jeg fjerner den virker
> > det. Hvad gør jeg galt?
>
> Problemet ligger muligvis hos dine dobbelte anførselstegn om ordet
> open. Dobbeltanførselstegn er i ASP en betegnelse for start/stop af en
> streng og det giver problermer når du i SQL bruger samme syntax.
>
> Erstat "open" med 'open' og se om det ikke hjælper.

I ASP-koden havde jeg escapet gåseøjnene ellers får jeg syntaksfejl,
men at udskifte " med ' hjalp nu gevaldigt alligevel så tak for
svarene til jer begge.

/Andreas


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

Månedens bedste
Årets bedste
Sidste års bedste