ADO.NET features two very different classes that, between them, handle most common database programming situations.
The DataSet class represents a table or tables held in memory and is disconnected from its data source. A DataSet can be bound to a data grid or other controls, and can persist itself to and from XML.
The DataReader class is ideal for one-way-one-way database access and is faster than a data set for simple database reads. In a WinForms application, it can't be bound to a data grid, but the contents can be written to the console or into a text box quickly.
Configuration files are an excellent place to keep connection strings, because changing a configuration file doesn't require the application to be recompiled.