ASP 访问 MySQL 数据库时使用 rs.RecordCount 总是返回 -1。解决办法是设置 RecordSet 实例的 CursorLocation 的值为 3。
rs.CursorLocation = 3 就是 rs.CursorLocation = adUseClient,就是代表使用客户端光标,和他对应的是 rs.CursorLocation = adUseServer 服务端光标。
CursorLocation 属性
设置或返回游标服务的位置。
说明
该属性允许在可用于提供者的各种游标库中进行选择。通常,可以选择使用客户端游标库或位于服务器上的某个游标库。
该属性设置仅对属性已经设置后才建立的连接有影响。更改 CursorLocation 属性不会影响现有的连接。
对于 Connection 或关闭的 Recordset 该属性为读 / 写,而对打开的 Recordset 该属性为只读。
由 Execute 方法返回的游标继承该设置。Recordset 将自动从与之关联的连接中继承该设置。
远程数据服务用法 当用于客户端 (ADOR) Recordset 或 Connection 对象时,只能将 CursorLocation 属性设置为 adUseClient。