Solo para complementar la informacion..:
El GetString es bueno usarlo cuando sabes la posición de los campos, y tambien cuando estas usando índices o para seguir cierto patrón y ahorrarse código (en algunos casos) y de hecho es la forma más rápida de acceso a datos ya que estás haciendo el cast de forma directa, la desventaja es que si no te sabes el órden puede caerse tu reader..
La otra forma tambien para accesar a traves del nombre del campo y no del índice es hacerlo así: (hablando de c#)
Cita: Response.Write(dr["nombre"].ToString()+" "+dr["puesto"].ToString()+"<br>");
Salu2