आपका दूसरा String.Format {2} . का उपयोग करता है एक प्लेसहोल्डर के रूप में लेकिन आप केवल एक तर्क में गुजर रहे हैं, इसलिए आपको {0} . का उपयोग करना चाहिए इसके बजाय।
इसे बदलें:
String.Format("{2}", reader.GetString(0));
इसके लिए:
String.Format("{0}", reader.GetString(2));