Avatar billede sneakraid Nybegynder
10. maj 2005 - 19:18 Der er 4 kommentarer og
1 løsning

count i database

Hej eksperter ;b

Jeg sidder lige og er ved at lave et kommentar system til mine nyheder.

Ved hver eneste nyhed står der selvf. "Kommentarer ()" og indenfor paranteserne skal der stå hvor mange kommentarer der er skrevet til hver enkel nyhed.

Hver nyhed har jo deres ID, den id bliver også skrevet i hver kommentar, for at man selvf. får vist de kommentarer der hører til den enkelte nyhed.

Nu vil jeg gøre sådan at den skriver hvor mange kommentarer der er til hver nyhed, men den melder bare fejl... Min kode ser sådan her ud:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)};"
DSN = DSN & "DBQ=" & Server.MapPath("pages/database.mdb")
Conn.Open DSN

sql = "Select Count (*) AS ID FROM kommentar where nyhed = 21"
Set rs = Conn.Execute(sql)

Response.Write "<div class='comment'>Kommentarer (" & rs("ID") & ")</div>"

Conn.Close
Set Conn = Nothing
%>

Og fejlen ser sådan her ud:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/lasse/new/pages/count.asp, line 8
Avatar billede terry Ekspert
10. maj 2005 - 19:23 #1
If nyhed is text then use

sql = "Select Count (*) AS ID FROM kommentar where nyhed = '21'"
Avatar billede terry Ekspert
10. maj 2005 - 19:23 #2
and that was an asnwer
Avatar billede busschou Praktikant
10. maj 2005 - 19:26 #3
du burde vel egentlig også kunne gøre sådan her
sql = "Select Count(*) From kommentar Where nyhed = 21"
Set antal = Conn.Execute(sql)
Avatar billede terry Ekspert
21. maj 2005 - 13:46 #4
status?
Avatar billede sneakraid Nybegynder
21. maj 2005 - 14:41 #5
hmm jeg kunne ikke få det andet i skrev, til at virke.. Så prøvede jeg med recordcount og så vidste den (-1) selvom der var postet en kommentar eller flere..

Nu har jeg så prøvet med et command object og recordcount og nu kører det bare som det skal :) men ellers, tak for hjælpen gutter ;)

Hvis det kan hjælpe andre..så ser min kode sådan her ud:

<%
Set Cmd = Server.CreateObject("ADODB.Command")
Cmd.ActiveConnection = conn
sql = "Select ID From kommentar Where nyhed = '" & rs("ID") & "'"
Cmd.CommandText = sql
Set rsCount = Server.CreateObject("ADODB.Recordset")
rsCount.open cmd,,1,1

Response.Write "<div class='kom'>Kommentarer (" & rsCount.recordcount & ")</div>"

Set cmd = Nothing
Set rsCount = Nothing
%>
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