Je tweede String.Format gebruikt {2} als een tijdelijke aanduiding, maar je geeft maar één argument door, dus je moet {0} . gebruiken in plaats daarvan.
Wijzig dit:
String.Format("{2}", reader.GetString(0));
Hierop:
String.Format("{0}", reader.GetString(2));