Avatar billede peanut2000 Nybegynder
15. oktober 2004 - 15:39 Der er 10 kommentarer og
1 løsning

problemer med sql-sætning

Hej jeg har følgende sql:

Select max (id) as sidsteId from produkt

som virker i access men den giver fejl i mysql jeg tror at fejlen er på max, findes der noget andet der kan bruges istedet for.

Det jeg prøver på er at få vist sidste id i tabellen

Håber nogen kan hjælpe
Avatar billede michael_stim Ekspert
15. oktober 2004 - 15:43 #1
Hvad får du for fejl. Det hedder også MAX() i MySQL.
Avatar billede powernodes Nybegynder
15. oktober 2004 - 15:44 #2
SELECT MAX(id) AS sidsteId FROM users - burde virke?
Avatar billede michael_stim Ekspert
15. oktober 2004 - 15:45 #3
Avatar billede peanut2000 Nybegynder
15. oktober 2004 - 15:47 #4
MySQL returnerede:


You have an error in your SQL syntax near '(id) as sidsteId FROM produkt LIMIT 0, 30' at line 1
Avatar billede michael_stim Ekspert
15. oktober 2004 - 15:50 #5
Du har ikke mellemrum mellem MAX og ()? som du skrev i spörgsmålet.
Avatar billede peanut2000 Nybegynder
15. oktober 2004 - 15:55 #6
det lader til at der er noget andet galt:

Dim Conn
Dim RS
Set RS = Server.CreateObject("ADODB.Recordset")
Set Conn = Server.CreateObject("ADODB.Connection")

Conn.ConnectionString="DRIVER={MySQL};SERVER=localhost;DATABASE=styrketraening_;UID=xxxPWD=xxx;"
Conn.Open

' SQL forespørgsel
strSQL = "SELECT MAX(id) AS sidsteId FROM produkt"

' Udfør forespørgsel (rs indeholder nu resultatet)
Set RS1 = Conn.Execute(sqlSQL)
strSQL2 = "select * from produkt where id = " & RS1("sidsteId")
Set RS = Conn.Execute(sqlSQL2)

ADODB.Connection.1 error '800a0bb9'

The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.

/start.asp, line 189

linie 189:
Set RS1 = Conn.Execute(sqlSQL)
Avatar billede michael_stim Ekspert
15. oktober 2004 - 16:04 #7
Set RS1 = Conn.Execute(strSQL)
Du har jo strSQL og ikke sqlSQL på begge steder.
Avatar billede michael_stim Ekspert
15. oktober 2004 - 16:09 #8
Og det burde vel väre nokat skrive en forespörgsel:
strSQL = "select * from produkt where id = MAX(id)"
Set RS = Conn.Execute(strSQL)
Avatar billede arne_v Ekspert
15. oktober 2004 - 16:16 #9
Hvad med kun en enkelt SELECT:

SELECT * FROM produkt ORDER BY is DESC LIMIT 1

?
Avatar billede peanut2000 Nybegynder
15. oktober 2004 - 16:29 #10
det er også rigtigt smid et svar michael stim og der er point
Avatar billede michael_stim Ekspert
15. oktober 2004 - 17:13 #11
Vassego ;o)
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
Computerworld tilbyder specialiserede kurser i database-management

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