5000条也太多了。CSDN只查300条,我觉得就足够多了。你可以用存贮过程,这会加快执行速度。在存贮过程中,运行两个查询,一个返回满足条件的记录条数,另一个返回前300条记录。如果记录条数大于300,则提示有更多记录,请做更精确的查询。datareader用 dr.NextResult() 来从前一个结果集移动到后一个结果集。