This is my first attempt at SQLCE and I am having an issue that I can't figure out. If I close the connection in the finally statement as shown below I only get the first record from the database. When I uncomment it I get both records. What am I doing wrong?

This is my code:
VB Code:
  1. '
  2.         Dim con As SqlCeConnection = Nothing
  3.         Try
  4.             Dim dir As String = Path.GetDirectoryName( _
  5.                 Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
  6.  
  7.             con = New SqlCeConnection("Data Source = '" & dir & "\RouteDB.sdf'")
  8.             con.Open()
  9.  
  10.             Dim cmd As SqlCeCommand = New SqlCeCommand( _
  11.                 "SELECT RouteID " & _
  12.                 ", Name FROM Routes " & _
  13.                 "Where IsDeleted = 0", con)
  14.             cmd.CommandType = CommandType.Text
  15.  
  16.             Dim resultSet As SqlCeResultSet = _
  17.                 cmd.ExecuteResultSet(ResultSetOptions.Scrollable)
  18.  
  19.             dgRoutes.DataSource = resultSet
  20.  
  21.         Catch ex As Exception
  22.             MessageBox.Show(ex.Message.ToString)
  23.         Finally
  24.             'con.Close()
  25.             ' If I uncomment the close I only get the first record
  26.             ' in the database. If I comment it out as is here
  27.             ' both the records in the database show up.
  28.         End Try