/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
antal poster
Fra : Nils N Jepsen


Dato : 13-11-02 16:22

hej

hvordan angiver man antal poster i en databasesøgning. F.eks .: Der er
fundet X poster ved din søgning.

Det er en enkel database i access

vh nils



 
 
Jakob Andersen (13-11-2002)
Kommentar
Fra : Jakob Andersen


Dato : 13-11-02 16:32

"Nils N Jepsen" <nd@os.dk> wrote
> hvordan angiver man antal poster i en databasesøgning. F.eks .: Der er
> fundet X poster ved din søgning.

Afhængig af hvordan du åbner dit recordset kan du tilgå antallet af
returnerede poster vha. RecordCount egenskaben.

Alternativt kan du tælle dem i løkken hvor du alligevel skriver dine poster
ud.

--
Jakob Andersen



Flemming Jensen (13-11-2002)
Kommentar
Fra : Flemming Jensen


Dato : 13-11-02 16:37

Jakob Andersen skrev

> Alternativt kan du tælle dem i løkken hvor du alligevel skriver dine
poster
> ud.

På denne måde er man nødt til at få antallet vist efter posterne er listet
og ikke efter.

--
Flemming Jensen



Jakob Andersen (13-11-2002)
Kommentar
Fra : Jakob Andersen


Dato : 13-11-02 16:52

"Flemming Jensen" <CyberOrc@tiscali.dk> wrote
> På denne måde er man nødt til at få antallet vist efter posterne er listet
> og ikke efter.

Ikke nødvendigvis, f.eks. kan man lave noget ala dette:


<%
......
Dim strOutput , iCounter
strOutput = ""
iCounter = 0

Set objRS = objConn.Execute( "SELECT field1, field2 FROM <table>" )
Do while Not objRS.EOF
strOutput = strOutput & "Variabel1: " & objRS("field1") & "<br
/>Variabel2: " & objRS("field2") & "<br /><br />"
iCounter = iCounter + 1
objRS.Movenext
Loop
'
Ryd op

Response.Write( "Din søgning returnerede " & iCounter & " poster")
Response.Write( strOutput )
......
%>

--
Jakob Andersen



Flemming Jensen (13-11-2002)
Kommentar
Fra : Flemming Jensen


Dato : 13-11-02 16:57

Jakob Andersen skrev:

> Ikke nødvendigvis, f.eks. kan man lave noget ala dette:
[SNIP kode]

Ja, så er det selvfølgelig muligt.

--
Flemming Jensen



Nils N Jepsen (13-11-2002)
Kommentar
Fra : Nils N Jepsen


Dato : 13-11-02 17:09

tak for svar
men ...
når jeg prøver bliver jeg ved med at få fejlmeldingen loop witout do

?? -
nils

"Jakob Andersen" <jakob@effectus.dk> skrev i en meddelelse
news:aqtsfk$15pt$1@news.cybercity.dk...
> "Flemming Jensen" <CyberOrc@tiscali.dk> wrote
> > På denne måde er man nødt til at få antallet vist efter posterne er
listet
> > og ikke efter.
>
> Ikke nødvendigvis, f.eks. kan man lave noget ala dette:
>
>
> <%
> .....
> Dim strOutput , iCounter
> strOutput = ""
> iCounter = 0
>
> Set objRS = objConn.Execute( "SELECT field1, field2 FROM <table>" )
> Do while Not objRS.EOF
> strOutput = strOutput & "Variabel1: " & objRS("field1") & "<br
> />Variabel2: " & objRS("field2") & "<br /><br />"
> iCounter = iCounter + 1
> objRS.Movenext
> Loop
> '
> Ryd op
>
> Response.Write( "Din søgning returnerede " & iCounter & " poster")
> Response.Write( strOutput )
> .....
> %>
>
> --
> Jakob Andersen
>
>



Nils N Jepsen (13-11-2002)
Kommentar
Fra : Nils N Jepsen


Dato : 13-11-02 18:40


> ?? -
> nils


Så fandt jeg den simple, men anvendelige løsning i et forumsvar fra Dennis
Knappe helt fra -99
<%

strSQL = "SELECT * FROM news "
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open strSQL, myConn, 3
Response.Write "Der er " & rs.RecordCount & " poster..."

%>
http://activedeveloper.dk/forum/forum.asp?mid=650




Jakob Andersen (13-11-2002)
Kommentar
Fra : Jakob Andersen


Dato : 13-11-02 19:17

"Nils N Jepsen" <nd@os.dk> wrote
> Så fandt jeg den simple, men anvendelige løsning i et forumsvar fra
Dennis
> Knappe helt fra -99
> rs.Open strSQL, myConn, 3
> Response.Write "Der er " & rs.RecordCount & " poster..."

Vær dog opmærksom på at denne løsning ikke er særlig effektiv da det kræver
en del kræfter at åbne et recordset når vi ikke snakker om en forwardonly
cursor.

--
Jakob Andersen




Jakob Andersen (13-11-2002)
Kommentar
Fra : Jakob Andersen


Dato : 13-11-02 19:16

"Nils N Jepsen" <nd@os.dk> wrote
> når jeg prøver bliver jeg ved med at få fejlmeldingen loop witout do

Hvordan ser din kode ud?

Og hvad linie er fejlen i?

--
Jakob Andersen



Anders Lund (13-11-2002)
Kommentar
Fra : Anders Lund


Dato : 13-11-02 22:33


"Jakob Andersen" <jakob@effectus.dk> skrev i en meddelelse
news:aqtsfk$15pt$1@news.cybercity.dk...
> > På denne måde er man nødt til at få antallet vist efter posterne er
listet
> > og ikke efter.
>
> Ikke nødvendigvis, f.eks. kan man lave noget ala dette:
SNIP
>

Der er en meget lettere måde.
I din execute funktion, kan du give en variabel som anden-parameter, efter
execute funktionen bliver kørt vil variablen indeholde antal poster.
Set objRS = objConn.Execute( "SELECT field1, field2 FROM <table>" ,
iCounter )Response.Write( "Din søgning returnerede " & iCounter & " poster")


--
Mvh
Anders Lund
Anders@zaimGED.dk
Fjern geden fra min signatur!



Jakob Andersen (13-11-2002)
Kommentar
Fra : Jakob Andersen


Dato : 13-11-02 22:38

"Anders Lund" <Anders@zaimGED.dk> wrote
> Der er en meget lettere måde.

Sikker?

> I din execute funktion, kan du give en variabel som anden-parameter, efter
> execute funktionen bliver kørt vil variablen indeholde antal poster.
> Set objRS = objConn.Execute( "SELECT field1, field2 FROM <table>" ,
> iCounter )Response.Write( "Din søgning returnerede " & iCounter & "
poster")

Som sagt andetsteds er dette "ændrede poster" denne returnerer og IKKE
antallet af poster i en query.

--
Jakob Andersen



Anders Lund (13-11-2002)
Kommentar
Fra : Anders Lund


Dato : 13-11-02 23:06

"Jakob Andersen" <jakob@effectus.dk> skrev i en meddelelse
news:aqugn4$1tno$1@news.cybercity.dk...

> Som sagt andetsteds er dette "ændrede poster" denne returnerer og IKKE
> antallet af poster i en query.
>

Jeg ved godt at den normalt giver ændrede poster, men i alle de setups jeg
har brugt giver den også antal poster i selects.
Kik på overclocking.dk alle de steder det står noget om antallet af poster,
er denne løsning brugt.

--
Mvh
Anders Lund
Anders@zaimGED.dk
Fjern geden fra min signatur!



Jesper Stocholm (13-11-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 13-11-02 23:28

Anders Lund wrote :

> "Jakob Andersen" <jakob@effectus.dk> skrev i en meddelelse
> news:aqugn4$1tno$1@news.cybercity.dk...
>
>> Som sagt andetsteds er dette "ændrede poster" denne returnerer og
>> IKKE antallet af poster i en query.
>>
> Jeg ved godt at den normalt giver ændrede poster, men i alle de setups
> jeg har brugt giver den også antal poster i selects.
> Kik på overclocking.dk alle de steder det står noget om antallet af
> poster, er denne løsning brugt.

det ændrer ikke ved, at det imo ikke er en god idé at foreslå løsninger,
der direkte går imod den "korrekte" anvendelse af en funktion. Det er
muligt, at du i din anvendelse af funktionen ikke har oplevet problemer,
men det er omtrent 100% sikkert, at en person, der måske ikke er så øvet
ifbm ASP, vil opleve at der returneres værdien "-1" hvis hun følger din
anbefaling. Jeg kan fx ikke huske sidst, at din foreslåede anvendelse af
funktionen returnerede andet end -1 for mig - specielt ikke hvis jeg har
anvendt SQL-svr som database.

Som Jakob har beskrevet, så er det afhængig af bla. cursor-typen, om den
returnerede værdi er som forventet. Denne detalje synes jeg manglede i
dine indlæg - specielt da du nu siger, at du godt vidste det.



--
Jesper Stocholm
http://stocholm.dk
Ny FAQ for dk.edb.internet.webdesign.serverside.asp
se http://asp-faq.dk

Jakob Andersen (13-11-2002)
Kommentar
Fra : Jakob Andersen


Dato : 13-11-02 23:44

"Anders Lund" <Anders@zaimGED.dk> wrote
> Jeg ved godt at den normalt giver ændrede poster, men i alle de setups jeg
> har brugt giver den også antal poster i selects.

Jeg har lige testet i et par "setups", og jeg må sige jeg er lidt overrasket
men det nok mest fordi jeg ikke er så flittig bruger af mySQL, men mine
resultater er følgende med værdien af den medsendte variabel til Execute
metoden:

Access(OLEDB) 0
Access(ODBC) -1
mySQL(ODBC) Det korrekte antal
postgreSQL(ODBC) -1
MS SQL(Named Pipes) -1

Så noget kunne tyde på at det er mySQL's ODBC implementation der fejler til
din fordel...

> Kik på overclocking.dk alle de steder det står noget om antallet af
poster,
> er denne løsning brugt.

Undskyld jeg siger det, men det site er da godt nok det langsomste jeg længe
har været inde på, hvis jeg var dig ville jeg enten flyve til
kodeoptimeringen eller kontakte din webhotel udbyder

--
Jakob Andersen



Anders Lund (14-11-2002)
Kommentar
Fra : Anders Lund


Dato : 14-11-02 13:20

"Jakob Andersen" <jakob@effectus.dk> skrev i en meddelelse
news:aqukjl$21o9$1@news.cybercity.dk...

> mySQL(ODBC) Det korrekte antal
> Så noget kunne tyde på at det er mySQL's ODBC implementation der fejler
til
> din fordel...
Jeg må nok krybe til korset og sige at jeg hovedsageligt arbejder med mysql,
og derfor ikke vidste at det ikke var en general ting.


> Undskyld jeg siger det, men det site er da godt nok det langsomste jeg
længe
> har været inde på, hvis jeg var dig ville jeg enten flyve til
> kodeoptimeringen eller kontakte din webhotel udbyder


På en normal dag tager siderne aldrig mere end ca 0,005 sek at eksekvere,
grunden til at det pt er langsomt er at vores freeBSD mysqlserver ikke køre
så vores webserver er overbelastet da den også skal køre mysql. Det kommer
sammentidigt med at vi oplever et stærkt øget besøgstal på de sider vi kører
på serveren.

--
Mvh
Anders Lund
Anders@zaimGED.dk
Fjern geden fra min signatur!



Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408836
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste