title: ADODB RecordSet RecordCount doesn't return useful information
body: <p>I have a pretty basic execution of a stored procedure in my code:</p>
  
  <pre><code>Dim objCmd As ADODB.Command
  Dim objConn As ADODB.Connection
  Dim rsTemplate As ADODB.Recordset
  
  Set objConn = New ADODB.Connection
  objConn.Open strConnection
  Set objCmd = New ADODB.Command
  objCmd.ActiveConnection = objConn
  objCmd.CommandType = adCmdStoredProc
  objCmd.CommandText = "GetTemplate"
  objCmd.Parameters.Append objCmd.CreateParameter("@Param1", adInteger, adParamInput, , lngParam1)
  objCmd.Parameters.Append objCmd.CreateParameter("@Param2", adInteger, adParamInput, , lngParam1)
  objCmd.CommandTimeout = 600
  Set rsTemplate = objCmd.Execute()
  LogInfo "Found " &amp; rsTemplate.RecordCount &amp; " templates"
  </code></pre>
  
  <p>The SP is supposed to find a single row.  The problem is that sometimes it fines none, which is actually okay, except that the <code>RecordCount</code> property is -1 in both cases. I would have expected 0 for zero records and 1 for one record. I have another section of code that can return a single or multiple rows, and with my testing parameters, it is returning seven rows, and <code>RecordCount</code> is correctly showing 7.  Does anyone know why I'm getting inconsistent results?  I need to be able to skip a subsequent piece of code if I get zero results here, and there's no other good way to check, other than trying to access a bad RecordSet object and having a special handler to <code>resume next</code> if it's a particular error code.</p>