Avatar billede pelskee Nybegynder
31. marts 2004 - 12:35 Der er 11 kommentarer og
1 løsning

Count records virker ikke

jeg kan ikke få lov til at lave en COUNT på nedenstående:

"SELECT DISTINCT Link  FROM NyhedsbrevStatistik  WHERE nyhedsbrevID = " + Replace(rsStatistik__MMColParam, "'", "''") + ""

Ville gerne inddrage:
COUNT (Link) AS Referencer

jeg får følgende fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near '(Link) AS Referencer FROM NyhedsbrevStatistik WHERE nyhedsbrevID = 39' at line 1

/admin/nyhedsbrev/vis_nyhedsbrev.asp, line 63
Avatar billede nute Nybegynder
31. marts 2004 - 13:04 #1
hmm ... hvis 'nyhedsbrevID' kolonnen er numerisk, så kan ikke værdien indeholde ' ...dermed er det ikke nogen pointe i at replace ' med ''. Er derimod kolonnen alfa-numerisk, så skal der '' omkring:

"SELECT DISTINCT Link  FROM NyhedsbrevStatistik  WHERE nyhedsbrevID = '" + Replace(rsStatistik__MMColParam, "'", "''") + "'"
Avatar billede pelskee Nybegynder
31. marts 2004 - 13:10 #2
nyhedsbrevID henviser bare til et URL param.
er det ikke muligt at lave en COUNT på Link ?


<%
Dim rsStatistik__MMColParam
rsStatistik__MMColParam = "1"
If (Request.QueryString("IDnyhedsbrev") <> "") Then
  rsStatistik__MMColParam = Request.QueryString("IDnyhedsbrev")
End If
%>
<%
Dim rsStatistik
Dim rsStatistik_numRows

Set rsStatistik = Server.CreateObject("ADODB.Recordset")
rsStatistik.ActiveConnection = MM_scandlines_STRING
rsStatistik.Source = "SELECT * FROM NyhedsbrevStatistik  WHERE nyhedsbrevID = " + Replace(rsStatistik__MMColParam, "'", "''") + " GROUP BY Link"
...
Avatar billede nute Nybegynder
31. marts 2004 - 13:30 #3
læs hvad jeg skriver til dig !!

nyhedsbrevID er en kolonne i din database. Er dette en numerisk eller alfa-numerisk kolonne ?? hvis det er en numerisk kolonne, hvorfor replacer du så ' med '' ?? hvis det er en alfa-numerisk kolonne, så skal der '' omkring din værdi (rsStatistik__MMColParam)

/nute
Avatar billede pelskee Nybegynder
31. marts 2004 - 13:33 #4
jamen jeg fatter ikke at det har noget at gøre med nyhedsbrevID som er INT type - for jeg leder jo bare efter det URL parameter der hedder IDnyhedsbrev...
Avatar billede nute Nybegynder
31. marts 2004 - 13:44 #5
kig så i din egen kode !! du skriver:

"SELECT DISTINCT Link  FROM NyhedsbrevStatistik  WHERE nyhedsbrevID = " + Replace(rsStatistik__MMColParam, "'", "''") + ""

hvad laver denne replace her ??

har du prøvet

"SELECT COUNT(*) FROM NyhedsbrevStatistik  WHERE nyhedsbrevID = " & rsStatistik__MMColParam

??
Avatar billede pelskee Nybegynder
31. marts 2004 - 13:54 #6
den skifter vel den værdi ud med det den henter fra URLen.

den kan jeg godt køre uden problemer, men så har jeg ikke adgang til de informationer jeg skal bruge Link og en sammentælling af Link. har prøvet med denne, men det virker ikke:
"SELECT Link, COUNT(*) AS Ref FROM NyhedsbrevStatistik  WHERE nyhedsbrevID = " & rsStatistik__MMColParam & "GROUP BY Link"
Fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near 'BY Link' at line 1

/admin/nyhedsbrev/vis_nyhedsbrev.asp, line 63
Avatar billede pelskee Nybegynder
31. marts 2004 - 14:07 #7
done:

<%
Dim rsStatistik__MMColParam
rsStatistik__MMColParam = "1"
If (Request.QueryString("IDnyhedsbrev") <> "") Then
  rsStatistik__MMColParam = Request.QueryString("IDnyhedsbrev")
End If
%>
<%
Dim rsStatistik
Dim rsStatistik_numRows

Set rsStatistik = Server.CreateObject("ADODB.Recordset")
rsStatistik.ActiveConnection = MM_scandlines_STRING
rsStatistik.Source = "SELECT Link, COUNT(Link) AS Ref  FROM NyhedsbrevStatistik  WHERE nyhedsbrevID = " + Replace(rsStatistik__MMColParam, "'", "''") + "  GROUP BY Link"
rsStatistik.CursorType = 0
rsStatistik.CursorLocation = 2
rsStatistik.LockType = 1
rsStatistik.Open()

rsStatistik_numRows = 0
%>
Avatar billede pelskee Nybegynder
31. marts 2004 - 14:07 #8
den virker :)

tak for hjælpen...
Avatar billede nute Nybegynder
31. marts 2004 - 14:08 #9
du skal med andre ord hive ud dét link, hvor 'nyhedsbrevID' = noget + antallet af *alle* links i basen ?

hvis dette er tilfælde, prøv så at køre denne:

"SELECT Link, ( SELECT COUNT(*) FROM NyhedsBrevStatistik ) AS Ref FROM NyhedsbrevStatistik WHERE nyhedsbrevID = " & rsStatistik__MMColParam  & " GROUP BY Link"

/nute
Avatar billede nute Nybegynder
31. marts 2004 - 14:11 #10
ehh ... du får hjælp og accepterer dit eget svar ?!?!
Avatar billede pelskee Nybegynder
31. marts 2004 - 14:13 #11
hehe my bad - troede du havde svaret

SELECT Link, COUNT(Link) AS Ref  FROM NyhedsbrevStatistik  WHERE nyhedsbrevID = " + Replace(rsStatistik__MMColParam, "'", "''") + "  GROUP BY Link
Avatar billede pelskee Nybegynder
31. marts 2004 - 14:15 #12
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