Microsoft KB Archive/214451

= BUG: RowCount Property and Number of Records Returned are Not Equal =

Article ID: 214451

Article Last Modified on 6/11/2002

-

APPLIES TO


 * Microsoft Site Server 3.0 Standard Edition

-



This article was previously published under Q214451



SYMPTOMS
When viewing the results of a search against an indexed database, the RowCount property of the recordset returned from Search may be used to indicate the number of hits returned by a query. Here's an example of this:

9 entries match your search criteria:

In some cases, this number may not match the number of record summaries displayed in the Search results.



CAUSE
A SQL Server Text (SQL_LONGVARCHAR) field, Access MEMO field, or some other very large field was marked for retrieval in the Search Server Schema.



RESOLUTION
Do not mark mark Text fields for retrieval. Mmark them only as "Indexed Not Retrievable."



STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.



MORE INFORMATION
When indexing a database, fields in the database are marked to be indexed or retrieved. Indexing a field allows the contents of that field to be searched. Setting a field to be retrieved allows the full content of the field to be displayed on the Search results page.

The intent of the Search results page is to list the hits along with a hyperlink to the full hit and a summary of the hit contents. The Description field of the recordset returned from Search will most likely be used to generate this summary. In the case of a database, the hyperlink to the database record ("hit") will use ADO to retrieve the full content of the record directly from the source database.

Marking a field as retrievable and displaying that field as a summary is an alternative to using the description field provided by Search. If a text (SQL_LONGVARCHAR) or very large field is used, however, the field may not be stored and the RowCount and number of records returned (iterations of Do while not RS.EOF... Loop) may not agree.

It is not advisable to mark large fields for retrieval from a database. The search catalog will become very large and performance will suffer. Much better performance and reliability will be achieved using Description to generate a summary and ADO to retrieve the full record. This is the default Search behavior when a database is indexed.

