Based on you wrote in the post, it seems you got exactly what you wrote in the title
However, even though I haven't tried it yet, I think the ResultSet is always initialized (you have to use the ExecQuery versions, not the ExecNONQuery versions, of course) and that at most it will be empty, so the classic example:
Dim Cursor As ResultSet
Cursor = SQL1.ExecQuery("SELECT col1, col2 FROM table1")
Do While Cursor.NextRow
Log(Cursor.GetString("col1"))
Log(Cursor.GetInt("col2"))
Loop
the loop will not execute even once.