reader.GetFieldType(int ordinal)
will return the .NET type of the field, while:
reader.GetDataTypeName(int ordinal)
will return a string representing the data type of the field in the data source (e.g. varchar). GetFieldType is likely to be more useful to you given the use case you describe