Twój drugi String.Format
używa {2}
jako symbol zastępczy, ale przekazujesz tylko jeden argument, więc powinieneś użyć {0}
zamiast tego.
Zmień to:
String.Format("{2}", reader.GetString(0));
Do tego:
String.Format("{0}", reader.GetString(2));