First, I would recommend to use ExecutrScalar instead of ExecuteReader.
Second, you have the list of point - and that list know how much items it has (the Count property).... At least use Math.Min
to make sure you're not overflowing your list.
And just as a good advice - don't close the reader object (or any object which implement IDisposable). Instead, declare the object in using statement:
using (reader = DBHelper.executeQuery(dbConn, sqlString.ToString(), null))
{
// code which using reader
}
And lastly - don't call indexCount on every iteration... Just save its result to a variable...