Toon posts:

[ASP & SQL] COUNT(*) fout

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig een forumpje in elkaar aan het knutselen en stuit (nu al) op een probleem. Ik heb gewoon via Access het eea ingevuld in 3 tabellen, etc. En nu wil ik laten tellen hoeveel forums, posts, threads, etc. er zijn.

Mijn Database heeft 3 tables met in de table Forums 3 rows met de namen van de forums, de threads en de posts.

Nu zijn er dus 3 rows en dit is de code die ik ervoor gebruik:

code:
1
2
3
4
5
Set objAcc = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("forum.mdb")
objAcc.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"

Set howmanyforums = objAcc.Execute("SELECT COUNT(*) FROM Forum")


en dan om het op het beeldscherm te krijgen:

code:
1
<%=howmanyforums%>


Ik snap het niet, maar ik krijg de volgende foutmelding:

Antwoordobject fout 'ASP 0185 : 8002000e'

Standaardeigenschap ontbreekt

?

Kan een standaardeigenschap van het object niet vinden.

Dus wat doe ik fout. doei

tmmk

Verwijderd

En in welke regel code krijg je de fout melding en wat is de code ervan ?

Heb je de fout melding al eens opgezocht met Google ?

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08-2025
een tipje van opa :)

objAcc.Execute voert dus een query uit. De 'oplossing' van deze query wordt in een recordset gestoken. Dus kun je niet zomaar <%=howmanyforums%> doen want je moet nog specificeren welk veld je wilt tonen.

dus probeer eens:
code:
1
<% =howmanyforums("forumnaam")%>


forumnaam is een v eld in uw query

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:55

gorgi_19

Kruimeltjes zijn weer op :9

Kijk eens hier:

http://www.asp101.com/samples/db_count.asp

Een volledige tutorial van jouw probleem.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08-2025
Feyd-Rautha schreef op 18 september 2002 @ 15:50:
een tipje van opa :)

objAcc.Execute voert dus een query uit. De 'oplossing' van deze query wordt in een recordset gestoken. Dus kun je niet zomaar <%=howmanyforums%> doen want je moet nog specificeren welk veld je wilt tonen.

dus probeer eens:
code:
1
<% =howmanyforums("forumnaam")%>


forumnaam is een v eld in uw query
om het aantal records in een query te weten, kun je volgende propery gebruiken:

code:
1
howmanyforums.recordcount

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


Verwijderd

Maar dat geeft 1 aan omdat er een Count(*) gegeven is, dus dat werkt niet :)

  • cameodski
  • Registratie: Augustus 2002
  • Laatst online: 06-11-2023
Feyd-Rautha schreef op 18 september 2002 @ 15:53:
code:
1
howmanyforums.recordcount
Gaat niet helemaal werken als je SELECT COUNT (*) gebruikt, want dan krijg je altijd maar één record terug.
En je kunt wel alles ophalen, maar dat is een beetje overbodig.

Helaas, te laat.

Never underestimate the power of


Verwijderd

Sowieso is recordcount niet een fijne manier omdat:
a) als je alleen het aantal hoeft te weten, je veel te veel info in de recordset prpot die je helemaal niet gebruikt
b) als je het toch gebruikt, moet je wel eerst door alle records heengelopen zijn met .MoveNext (of .MoveLast) voordat dat het correcte aantal teruggeeft.

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08-2025
Dan is eigenlijk het volgende het beste:
code:
1
2
3
set rsAantal = db.Execute("SELECT COUNT(*) AS aantal FROM tblTable")

<% =rsAantal("Aantal)%>

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


Verwijderd

Alleen dan met een response.write erbij :)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:55

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 18 september 2002 @ 16:03:
Alleen dan met een response.write erbij :)
Daar staat het =-teken al voor.. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

|:( te lang niets in ASP gedaan

Verwijderd

Topicstarter
Het is me nog steeds niet helemaal duidelijk.

Ik heb het geprobeerd met howmanyforums.recordcount maar ook dit werkte niet. Ik kreeg -1 terug.

Dus moet ik nu een loop maken? In de trand van:

code:
1
2
3
4
5
Dim i
i = 1
Do While objAcc.Forum.EOF
i =+ 1
Loop

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08-2025

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:55

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 18 september 2002 @ 16:09:
Het is me nog steeds niet helemaal duidelijk.

Ik heb het geprobeerd met howmanyforums.recordcount maar ook dit werkte niet. Ik kreeg -1 terug.

Dus moet ik nu een loop maken? In de trand van:

code:
1
2
3
4
5
Dim i
i = 1
Do While objAcc.Forum.EOF
i =+ 1
Loop
Ik zal eens 1 regel voor je vertalen:
Zolang je aan het EINDE van de recordset zit, moet je de volgende actie uitvoeren...

En inderdaad: Het goede antwoord is al lang gegeven?
[rml]Feyd-Rautha in "[ ASP & SQL] COUNT(*) fout"[/rml]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Kijk nog eens naar de posting van Feyd-Rautha. Gewoon een select count(*) doen, en dan de waarde van dat veld ophalen.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Het is me gelukt. Had de posts nog niet zo snel gelezen. (het gaat hier wel erg snel, toppie!)
Feyd-Rautha, thnx (en natuurlijk alle anderen ook)

  • G-RaX
  • Registratie: Mei 2000
  • Laatst online: 05-04 17:44

G-RaX

Unofficial TopCat

Kun je niet gewoon het volgende doen? Want je wil er kennelijk een getal uit hebben.

ASP.NET Visual Basic:
1
2
3
4
SQL_QUERY = "SELECT COUNT(*) as geteld FROM Forum"
SET howmanyforums = objAcc.Execute(SQL_QUERY)

response.write (""& howmanyforums("geteld") &"")


Dit moet geheid werken...

Xsquize me...late post...zo te zien!

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08-2025
dank u

dat was dan 1000€ . Zo goedkoop kom je er natuurlijk niet vanaf :+

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.

Pagina: 1