In this case, second String.Format is using {2} as the placeholder but you're only passing it in one argument, therefore you should use {0} instead.
Try changing this line of code:
String.Format("{2}", reader.GetString(0));
To this code:
String.Format("{0}", reader.GetString(2));