Hvis du bare vil vide hvor mange records der er, kan du bare bruge funktionen COUNT jo... SQL = "SELECT COUNT(ID) AS Antal FROM dintabel" Set RS = Objconn.execute(SQL)
Du kan i de fleste tilfælde bruge count() funktionen til at tælle antallet, som locturian skriver. Men nogle databaser understøtter heller ikke count, også må du manuelt løbe den i gennem og tælle antallet.
Det har jeg måtte gøre før ved nogle gamle DOS databaser, da de ikke understøtter noget ud over "select * from...." (ingen join eller ligende). Så vi må håbe du kan bruge count() funktionen :o)
Nu skriver han jo ASP, hvorfor vi må antage at det er en mere gængs database, som Access(selvom jeg ikke vil kalde det en database, hehe), MySql eller MSSQL...
Men ellers ja, så er det bare at tælle op.. ;
SQL = "SELECT ID FROM dintabel" Set RS = Objconn.execute(SQL) Antal = 0 Do Until Rs.Eof Antal = Antal + 1 RS.MoveNext() Loop Response.Write Antal
Du kan skam også få adgang til gamle DOS databaser i ASP gennem ODBC. Hvis du ikke selv vil lave en driver, kan mange findes på nettet, eller ved at tage kontakt til skaberen....
Ja, rigtigt, men det er bare ikke så ønskeligt mere, med mindre der ikke er nogen måde at konvertere det gamle på - Hvis man laver noget nyt, kan det ikke betale sig at bruge en DOS baseret database jo :)
Jeg synes også det er noget lo.t at bruge gamle databaser, men vi har mange kunder her i firmaet, som bruger dem pga. de ikke vil udskifte de programmer, de bruger til at indtaste data med.
Sidst skulle jeg koble en online shop til sådan et system. Snak om at det er besværlig.... :o)
anyway, så har du jo vist begge "sikre" løsningsmuligheder nu (med kode), så kovalt skulle have fået løst sit problem, på den ene eller anden måde. Så er det jo bare at vente til han har fået det afprøvet, og melder tilbage.... Så skulle du jo gerne have 15 ekstra point i din lomme :o)
hehe, tjae, whuhuuu - 15 point :) Det er nu ikke ligefrem det der driver værket... har omkring 6000 point på kontoen, hvilket svare til at jeg kan oprette 100 60 points spørgsmål... Må indrømme, at det ikke er for point jeg gider at hjælpe :) Mere fordi det er rart, når andre gider at hjælpe en selv... Hvis ikke man hjælper, så kan man heller ikke forvente hjælp :)
Det eneste gode ved point systemet er, at man bliver PRO medlem, hvis man er i top 100 en måned. Det er det eneste jeg går efter, da man så kan fjerne reklamer og ligende fra E. Jeg hader reklamer, men jeg er også for nærig til at betale for PRO medlemskabet....
objRec.pageCount bruge i forbindelse med paging og ikke til antal records til at finde antal record bruges: objRec.RecordCount
objRec.RecordCount vil give den fejl du beskriver hvis man åbner sig recordset på denne måde: Set rs=Conn.Execute(SQL) da det ikke laver et rigtig recordset, så skal du bruge .Open metoden:
Set objRec = Server.CreateObject("ADODB.Recordset") SQL = "select * from tabel" objRec.Open SQL, Conn, 1 AntalPoster = objRec.RecordCount
COUNT er standart SQL så det understyttes af alle database som vil kalde sig en database.
Grunden til jeg ikke så gerne ville anvende Count er at jeg gerne vil ha selve recordsne ud af udtrækket. Men enden på det må blive at jeg bare tæller manuelt.
Jeg har endnu ikke haft held med at finde ud af om driveren understøtter funktionen. Og sådan lige for god ordens skyld synes jeg lige i skal vide at det er en Interbase 6.0 database jeg sidder og connecter til.
Driveren understytter .RecordCount. Det som afgør om det virker eller melder fejl er hvordan man åbner sit recordset som jeg beskrevet lige før. Du skal bruge.Open metoden for at RecoudCount og evt. paging virker.
Set objRec = Server.CreateObject("ADODB.Recordset") SQL = "select * from tabel" objRec.Open SQL, Conn, 1 AntalPoster = objRec.RecordCount
dette kode virker med Access og MSSQL. Bruger du mySQL er det ikke sikkert det virker og så du nød til en COUNT SQL.
Som jeg skrev er det en Interbase og jeg kan kun få det til ar virke med COUNT().
Tak for jeres tid.
Synes godt om
Ny brugerNybegynder
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.