Avatar billede thomasjensen Nybegynder
31. december 2001 - 01:23 Der er 3 kommentarer og
1 løsning

Problemer med SQL

Hej eksperter.

Jeg er ved at lave et rating-system, men der er opstået et problem.
Jeg har en Access-database, hvori der er en tabel der hedder FILM. Og i denne tabel er der bl.a. felterne Titel, Point og Stemmer. Det jeg ønsker er at få returneret et recordset, sorteret efter Rating-point (dvs. point/stemmer).
Men jeg får en fejl ved følgende sql-sætning:

sql  = \"SELECT Titel, (Point/Stemmer) AS Rating \";
sql += \"FROM FILM \";
sql += \"ORDER BY Rating DESC\";
rs = connection.execute(sql);

Den vil ikke acceptere Rating som et sorteringsparameter.
Undlader jeg at sortere efter Rating, så virker det fint...
// Btw. så koder jeg JSript.

Jeg får følgende fejl:

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

Please hjælp...det er et studieprojekt, som skal afleveres 4.jan.

Godt nytår!!
Mvh. Thomas
Avatar billede dr-kermit Nybegynder
31. december 2001 - 01:38 #1
Hejsa Og godt nytår ;)

Måden du skal gøre det på er som følger

sql  = \"SELECT Titel, (Point/Stemmer) AS Rating \";
sql += \"FROM FILM \";
sql += \"ORDER BY (Point/Stemmer) DESC\";
rs = connection.execute(sql);

Mvh Kenneth Nielsen

Avatar billede thomasjensen Nybegynder
31. december 2001 - 01:43 #2
Har prøvet. Nu får jeg denne fejl:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E57)
[Microsoft][ODBC Microsoft Access Driver]Numeric value out of range (null)

Hvad vil det sige?
Avatar billede dr-kermit Nybegynder
31. december 2001 - 01:48 #3
tror det har noget at gøre med hvordan du har defineret dine felter i databasen, for at kunne lave beregninger skal de jo være tal.

måske er det tekst.

mvh Kenneth Nielsen
Avatar billede thomasjensen Nybegynder
31. december 2001 - 01:51 #4
Har fundet ud af det...
Det er fordi jeg dividerer med 0. Er der ikke afgivet stemmer til den enkelte film, vil den have værdien 0. Og det må jeg selvfølgelig ikke dividere med.

Giver mig ikke fejlmeddelelse, når jeg skriver:

sql  = \"SELECT Titel, (Point/Stemmer) AS Rating \";
sql += \"FROM FILM \";
sql += \"WHERE Stemmer > 0 \";
sql += \"ORDER BY (Point/Stemmer) DESC\";
rs = connection.execute(sql);

Du skal have tusind tak for hjælpen.
Mvh. Thomas
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester