webForumDet fria alternativet

Acces > MySQL

ASPur ASP

11 svar · 287 visningar · startad av Poffe

PoffeMedlem sedan apr. 20022 743 inlägg
#1

Hej!

Jag har en statistik databas där alla träffar sparas i en egen post med information om besökaren. Jag räknar sedan ut ex. vilken browser som är den mest använda under en viss period och hur många ggr den har används med denna kod:

Set RS = Connect.Execute("SELECT COUNT(*) AS Antal, Browser FROM (SELECT * FROM Stat WHERE Month = "& viewmonth &" AND Year = "& viewyear &" ORDER BY Browser) GROUP BY Browser ORDER BY 1 DESC")
hitbrowser = RS("Antal")
RS.Close

Den funkar utmärkt mot Access men inte mot MySQL. Databasen börjar vi detta lag bli rätt stor så jag tänkte att dte skulel vara bra att yta till en MySQL men då ehöver jag ju en fungerande kod...

Hoppas att någon vet hur jag ska göra!
Tack på förhand
// Poffe

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Mysql har inte stöd för subselect, men din fråga går att skriva lite enklare.

Set RS = Connect.Execute( _
"SELECT COUNT(*) AS Antal, Browser FROM Stat " & _
" WHERE Month = "& viewmonth & _
" AND Year = "& viewyear & _
" GROUP BY Browser " & _
" ORDER BY 1 DESC")
PoffeMedlem sedan apr. 20022 743 inlägg
#3

var det koden för access eller mysql?

om det var access: går det inte att lösa om man använder mysql?

PatrikBMedlem sedan mars 20002 836 inlägg
#4

Den SQL-frågan ger alltid tillbaka ett tomt recordset med mySQL.
Tyvärr måste du lösa det med flera recordsets då det finns en massa begränsningar i myODBC som är limmet mellan mySQL och asp.

cya,
PatrikB

PatrikBMedlem sedan mars 20002 836 inlägg
#5

Du får göra ngt liknande detta för att lösa hur många som använder de olika browsers som finns.
Tyvärr kan jag ej testa just nu mot mySQLen så koden är lite otestad :e

strSQLbr = "SELECT DISTINCT Browser FROM STAT"
Set objRSbr = Connect.Execute(strSQLbr)
	While Not objRSbr.EOF
		strBrowser = objRSbr(0)
		'## -- räkna hur många som använder denna browser --
		strSQLtmp = "SELECT Count(*) FROM Stat WHERE Browser = '" & strBrowser & "'"
		Set objRStmp = Connect.Execute(strSQLtmp)
			intBrowserCount = objRStmp(0)
			'## -- printa ut --
			Response.Write intBrowserCount & " st. använder browsern " & strBrowser & "<BR>"
		Set objRStmp = Nothing
		objRSbr.MoveNext
	Wend
Set objRSbr = Nothing

cya,
PatrikB

PoffeMedlem sedan apr. 20022 743 inlägg
#6

Tack för hjälpen PatrikB!

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Patrik, nu blir jag nyfiken:

Den SQL-frågan ger alltid tillbaka ett tomt recordset med mySQL.

Varför?

PatrikBMedlem sedan mars 20002 836 inlägg
#8

mot mysql tillsammans med asp så har jag alldrig fått den att funka.
Det är antingen ngt som inte finns med i myODBC eller så är det en bugg i myODBC.

Kör jag samma sql-fråga i tex mySQL Front så får jag tillbaka recordsetet med alla poster räknade och ordnade helt perfekt. På en asp-sida däremot kommer det tillbaka ett tomt recordset.

Varför? ärligt så vet jag faktiskt inte ...... den borde funka ....... men om jag inte minns helt fel så hade även Jörgen HP problems med denna typ av sql-frågor

cya,
PatrikB

PatrikBMedlem sedan mars 20002 836 inlägg
#9

för er andra som är intresserade ställde jag en liknande fråga i mySQL forumet för ett tag sedan.

http://www.webforum.nu/showthread.php?s=&threadid=37606&highlight=PatrikB

cya,
PatrikB

LarsGMedlem sedan dec. 200012 464 inlägg
#10

Jag tror nog att Herman kan ha en poäng med BIGINT eftersom resultatet av en count får den typen. Har du testat med det han föreslog?

PatrikBMedlem sedan mars 20002 836 inlägg
#11

Jepp, testade det jag fick ..... men inte funkade det inte.

cya,
PatrikB

PatrikBMedlem sedan mars 20002 836 inlägg
#12

testade på jobbets mySQL och då funkade denna:

strSQL = "SELECT Count(*), Field FROM Table GROUP BY Field ORDER BY 1 DESC

med denna connstring:

""driver=MySQL;server=xxx.xxx.xxx.xxx;uid=username;pwd=password;database=dbname;OPTION=16384;"

har mega strul med min installation av mySQL på min utvecklingsmaskin .... fast jag rensar hela maskinen från allt vad mySQL heter så återkommer problemen hela tiden.

Ingen som vet "hur" man kan rensa ut mySQL ... eller är det en ominstallation som gäller?

cya,
PatrikB

129 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)