MoonCowMedlem sedan juni 2001223 inlägg Hejsan! Har bytt till en mySQLdatabas och märker att det verkligen inte bara var att byta kopplingskod.
Detta är väl en av de klurigare sql-satserna som jag har vilken jag inte lyckats göra om så att mySQL gillar den.
När jag använde Access såg den ut såhär:
Addera = "select * from (select top " & besokareonline & " * from members order by senast_aktiv desc) s where status = 'online' order by username"
Den jag försöker men får:
[TCX][MyODBC]You have an error in your SQL syntax near 'select * from members limit 1 order by senast_aktiv desc) where status = 'online' at line 1
/onlinelist.asp, line 59
är:
'Addera = "select * from (select * from members limit " & besokareonline & " order by senast_aktiv desc) s where status = 'online' order by username"
För jag känner ju till att man måste använda det som tydligen heter limit när det gäller mySQL.
Är det någon som vet hur min nya sql-sats ska se ut?
mvh,
Max
MoonCowMedlem sedan juni 2001223 inlägg Sorry, är så van att lägga i asp-forumet. Flyttar du åt mig?
LarsGMedlem sedan dec. 200012 464 inlägg Det går inte med en fråga i Mysql.
Alternativ hämta det inre resultatet och sortera i ASP
q = "select * from members order by senast_aktiv desc limit " & besokareonline
set rs = connect.execute(q)
if not rs.eof then a = rs.getrows() : sort(a)
Det finns ingen inbyggd sortering i VB men om du letar så finns det inlägg.
Använd en arbetstabell
q1 = "create temporary table magdur(... ) select * from members order by senast_aktiv desc limit " & besokareonline
q2 = "select * from magdur order by username "
MoonCowMedlem sedan juni 2001223 inlägg okej :)
förstod jag det rätt om jag skriver såhär?
query1 = "create temporary table magdur( ) select * from members order by senast_aktiv desc limit top" & besokareonline
query2 = "select * from magdur order by username "
Set RecSet = Databas.Execute(query1)
Set RecSet = Databas.Execute(query2)
funkar inte riktigt dock, ger:
[TCX][MyODBC]You have an error in your SQL syntax near ') select * from members order by senast_aktiv desc limit top 1' at line 1
ska det btw top vara med i satsen?
LarsGMedlem sedan dec. 200012 464 inlägg Top skall inte vara med, klippte och klistrade. Jag var lite slarvig med create syntaxen, det skall inte vara några parenteser
http://www.mysql.com/doc/en/CREATE_TABLE.html
q1 = "create temporary table magdur select * from members order by senast_aktiv desc limit " & besokareonline
Man kan ange olia attribut, t.ex. om man vill att något skall vara unikt eller så.
ShoGunMedlem sedan aug. 2002237 inlägg Annars kan jag rekommendera ett prog som konverterar från Access till MySQL... kolla in: http://www.convert-in.com/
de har alla möjliga konverterare... =)
Lycka till... (Demon funkar tillfredställande...=)
ShoGun
MoonCowMedlem sedan juni 2001223 inlägg
ShoGun skrev:
Annars kan jag rekommendera ett prog som konverterar från Access till MySQL... kolla in: http://www.convert-in.com/
de har alla möjliga konverterare... =)
Lycka till... (Demon funkar tillfredställande...=)
ShoGun
Tack, men har redan ett program som heter DVtool som fixade biffen mkt smidigt och bra.
Denna frågan handlar mest om koden.
MoonCowMedlem sedan juni 2001223 inlägg LarsG: tackar tackar! :) det funkar bra. men nästa gång, eller nån gång senare man kör koden så står det att den tabellen redan finns. vad lägger man till för att den ska skriva över varje gång istället? hittade inte det på länken du bifogade.
LarsGMedlem sedan dec. 200012 464 inlägg Tabellen försvinner när man gör disconnect, så det fungerar nog inte så bra i en miljö med connection-pooling.
Det är nog enklast att du droppar tabellen direkt efter det att du använt den
drop table magdur
Fördelen med en temporärtabell är att varje connection får sin egen kopia av tabellen så det blir aldrig några konfliikter som det lätt skulle bli med en permanent tabell.
MoonCowMedlem sedan juni 2001223 inlägg Tackar ödmjukast, det fungerade förträffligt :)
Go Jul :)