Dot.net C#

Ciao a tutti, io avrei un problema.
Sono un'utente alle prime armi di c# e sto cercando di mostrare dei dati in una DataGridview tramite dataReader..sapete aiutarmi?

questo è parte del mio codice..

// Definisco la query e la eseguo
SqlCommand command = new SqlCommand("SELECT * FROM Contatti", conn);
SqlDataReader dataReader = command.ExecuteReader();

// Leggo finchè ci sono record
while (dataReader.Read())
{

String str = String.Format("{0},{1},{2}", dataReader[0], dataReader[1],dataReader[2]);

dgContatti.DataSource = str;
dgContatti = dataReader[j];
MessageBox.Show(str);
}

grazie a tutti Donata