Ihr zweites String.Format
verwendet {2}
als Platzhalter, aber Sie übergeben nur ein Argument, also sollten Sie {0}
verwenden stattdessen.
Ändern Sie dies:
String.Format("{2}", reader.GetString(0));
Dazu:
String.Format("{0}", reader.GetString(2));