Mega Code Archive

 
Categories / Delphi / ADO Database
 

Faster recordcount for sqlserver clientserver applications

Title: Faster recordcount for sqlserver clientserver applications Question: When using the standard dataset.recordcount in my client-server (win nt against sqlserver7 db, targettable has 500.000 records) i can go for lunch and stil be waiting (:- Answer: !! sorry for my english (netherlands/suriname) for those of you who don't know why u should not use the standard dataset.recordcount when developing client server database applications. This article is especialy for those cs db apps against a sqlserver 7 db. since the standard dataset.recordcount iterates from begin of the table through the end of the table to result in the recordcount. This is a crime when developing cs db apps (against sqlserver7). simply use another way of obtaining the number of records. I use a sql for obtaining the number of records in a sqlserver table. drop a tquery on the form provide this tquery with the follow SQL: SQL: select distinct max(itbl.rows) from sysindexes as itbl inner join sysobjects as otbl on (itbl.id = otbl.id) where (otbl.type = 'U') and (otbl.name = :parTableName) notice the parameter: parTableName type string use this tquery to find out how many rows in the table TIP: try to make your own tYourSqlServerCountQuery and thus override the recordcount property. ByTheWay: use this only for sqlserver for other cs db apps simply use a count sql (coming upnext time...) chiefClaudio