Avatar billede justdoit Nybegynder
21. april 2002 - 13:19 Der er 19 kommentarer og
1 løsning

Count i databasen

Jeg har en database hvor jeg fx kan søge på ejerlejligheder. Jeg vil gerne have skrevet ud hvor mange der er fundet i databasen - men hvordan?

Tabellen i databasen hedder "Boligtype"

Dette dur ikke...

SELECT COUNT(Boligtype) FROM Orders
Avatar billede ncp Nybegynder
21. april 2002 - 13:23 #1
SELECT COUNT(KOLONNE) FROM TABEL WHERE KOLONNE = ET ELLER ANDET ORDER BY KOLONNE
Avatar billede justdoit Nybegynder
21. april 2002 - 13:31 #2
Jeg har skrevet dette:

<% SELECT COUNT(Boligtype) FROM Hovedtabel WHERE Boligtype = Ejerlejligheder ORDER BY Boligtype%>

men får fejlen:

'Case' var ventet
Avatar billede jmarkling Nybegynder
21. april 2002 - 13:32 #3
"er i databasen i alt."
SELECT COUNT(*) AS antal FROM Orders
RS("antal")


"fundet i databasen"
som ncp hvor du evt. kan indføre "ET ELLER ANDET" som søgnings-paramter" og du skal også huske at lave as antal
Avatar billede justdoit Nybegynder
21. april 2002 - 13:49 #4
øhh det forstår jeg ikke helt!
Avatar billede jmarkling Nybegynder
21. april 2002 - 13:59 #5
<% SELECT COUNT(*) AS antal FROM Hovedtabel WHERE Boligtype = Ejerlejligheder ORDER BY Boligtype%>


når du så skal hive antal frem fra dit record-sæt skal du
skrive
RECORDNAVN("antal")
Avatar billede mr.meincke Nybegynder
21. april 2002 - 14:26 #6
hele koden:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb); DBQ=" & Server.MapPath("dinDB.mdb")
SQL = "SELECT COUNT(*) AS ialt FROM DinTabel WHERE DitFelt='EtEllerAndet'"
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql, conn, 1, 3
intIalt = rs("ialt")
%>
Der er i alt <%= intIalt %> records hvor ditfelt=Etellerandet
<%
Set rs = Nothing
rs.Close
%>

Mvh
Mr.Meincke
Avatar billede eagleeye Praktikant
21. april 2002 - 16:27 #7
"SELECT COUNT(Boligtype) FROM Hovedtabel WHERE Boligtype = 'Ejerlejligheder';"
Avatar billede justdoit Nybegynder
21. april 2002 - 20:50 #8
Hej

jeg har prøvet og prøvet men uden held...

Her er nogle af mine koder på siden hvor jeg gerne vil have min counter, men er der nogle der kan finde ud af at sætte det ind ??




<%
if request.Form("send") = "ja" then

set cn = server.createobject("adodb.connection")
cnstr = "Provider=Microsoft.Jet.OLEDB.4.0;"
cnstr = cnstr & "Data Source=c:\Inetpub\wwwroot\Ejendom\db\Ejendom.mdb;"
cn.connectionstring = cnstr
cn.open

sql = "SELECT * FROM Hovedtabel WHERE Boligtype LIKE '%"& Request.Form("Type") & "%';"
%>

                    <tr>
                      <td align="center" class="overskrift2">Boligtype</td>
                      <td align="center" class="overskrift2">Adresse</td>
                      <td align="center" class="overskrift2">Areal</td>
                      <td align="center" class="overskrift2">Brutto</td>
                      <td align="center" class="overskrift2">Netto</td>
                      <td align="center" class="overskrift2">Udbetaling</td>
                      <td align="center" class="overskrift2">Kontantpris</td>
                      <td align="center" class="overskrift2">Se bolig</td>
                    </tr>
<tr>
                      <td>
                      <%
Set objRec = cn.Execute(sql)
do while not objRec.eof
%>
                        <%
Response.Write "<tr class='overskrift'>" & "<td>" & objRec("Boligtype") & "</td><td>" & objRec("Gadenavn") & " " & objRec("Nummer") & "</a></td><td>" & objRec("Boligareal") & "</td><td><div align=right>" & objRec("Brutto") & "</div></td><td><div align=right>" & objRec("Netto") & "</div></td><td><div align=right>" & objRec("Udbetaling") & "</div></td><td><div align=right>" & objRec("Kontantpris") & "</div></td><td><a href=vis_bolig.asp?id=" & objRec("Sagsnummer") & ">" & "<div align=center><img src=Billeder/hus.gif border=0></div>" & "</a></td></tr>"
objRec.movenext
loop



%>
                    </table>
                </td>
              </tr><%SELECT COUNT(Boligtype) FROM Hovedtabel WHERE Boligtype = 'Ejerlejligheder';

cn.execute sql
cn.close
set cn=nothing
end if

%>
Avatar billede eagleeye Praktikant
21. april 2002 - 22:44 #9
Udskift disse linier:

                </td>
              </tr><%SELECT COUNT(Boligtype) FROM Hovedtabel WHERE Boligtype = 'Ejerlejligheder';

cn.execute sql



MED DISSSE:

                </td>
              </tr>
<%
sql = "SELECT COUNT(Boligtype) as AntalBolig FROM Hovedtabel WHERE Boligtype = 'Ejerlejligheder';"
cn.execute sql
Response.write "Antal boliger fundet : " & rs("AntalBolig")
%>
Avatar billede eagleeye Praktikant
21. april 2002 - 22:47 #10
21/04-2002 22:44:30
Avatar billede eagleeye Praktikant
21. april 2002 - 22:51 #11
ups jeg ville forsætte mit svar men Eksperten har en underlig mani med at komme med timeout en gang imelllem så jeg prøver lige igen...Danm jeg glemt CTRL-C inden jeg trykkede på udfør.


Forsætelse fra forrige svar (21/04-2002 22:44:30)
Hvis du gerne vil hvade at den ikke altid kun viser antaller af 'Ejerlejligheder', men rent faktisk viser antallet af den bolig type man søger på. Det skifter bare denne SQL-sætning ud:

sql = "SELECT COUNT(Boligtype) as AntalBolig FROM Hovedtabel WHERE Boligtype = 'Ejerlejligheder';"

MED DENNE:

sql = "SELECT COUNT(Boligtype) as AntalBolig FROM Hovedtabel WHERE Boligtype LIKE '%" & Request.Form("Type") & "%';"
Avatar billede justdoit Nybegynder
21. april 2002 - 23:35 #12
der er fejl i rs

Response.write "Antal boliger fundet : " & rs("AntalBolig")


Hvad er der galt?
Avatar billede eagleeye Praktikant
21. april 2002 - 23:38 #13
ups sorry prøv lige at rette:

Denne linie:
cn.execute sql

Til Denne
Set objRec = cn.Execute(sql)

Også dette rs("AntalBolig")    Til objRec ("AntalBolig")
Avatar billede justdoit Nybegynder
22. april 2002 - 07:58 #14
Det har jeg rettet nu, men jeg får fejlen "Et objekt er obligatorisk"

i denne linie:

Set objRec = cn.Execute(sql)
Avatar billede webbe Nybegynder
22. april 2002 - 11:29 #15
Som jeg ser der ud fra fejlen "'Case' var ventet" så anvender du cases.

Er du sikker på du har defineret din 'Case'??

Kan du ikke poste hele koden fra den fil du arbejder med?
Avatar billede webbe Nybegynder
22. april 2002 - 11:31 #16
Eller sende den til mig på michaelpe@scanbox.com?
Avatar billede eagleeye Praktikant
22. april 2002 - 11:42 #17
Sådan her skal de sidse linier se ud.

%>
                    </table>
                </td>
              </tr>
sql = "SELECT COUNT(Boligtype) as AntalBolig FROM Hovedtabel WHERE Boligtype LIKE '%" & Request.Form("Type") & "%';"
Set objRec = cn.Execute(sql)
Response.write "Antal boliger fundet : " & objRec ("AntalBolig")

cn.close
set cn=nothing
end if
Avatar billede eagleeye Praktikant
22. april 2002 - 11:43 #18
Er der noget mere kode mellem loop og %> i det du har vist her?  (se nedenfor)


objRec.movenext
loop

'ER DER ASP KODE HER ????
'Evt objRec.Close  for så slet den linie

%>
                    </table>
Avatar billede justdoit Nybegynder
24. april 2002 - 11:34 #19
webbe du skal lige lavet et svar!
Avatar billede webbe Nybegynder
24. april 2002 - 11:35 #20
Oki - here goes ;0)
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