Вашият втори String.Format
използва {2}
като заместител, но предавате само един аргумент, така че трябва да използвате {0}
вместо това.
Променете това:
String.Format("{2}", reader.GetString(0));
Към това:
String.Format("{0}", reader.GetString(2));