Antes que nada... es un tema sumamente extenso, pero espero que tengas nociones de este tipo de sistemas en algún otro lenguaje.
Para darte un ejemplo es algo dificil, primero te recomiendo que leas esto
http://msdn.microsoft.com/es-es/library/8t72t3k4(v=VS.90).aspxEs el espacio de nombres SqlCliente, en este espacio de nombres se encuentra todo lo necesario para comunicarse con SqlServer, mas especificamente las siguientes clases:
SqlCommand
SqlConnection
SqlDataAdapter
SqlDataReader
SqlParameter
Estas son las principales clases... ahora a muy groso modo te explico como hacer una consulta
//Creas el objeto de conexion
SqlConnection C = new SqlConnection("CadenaConexionSQL");
//Ejemplo de cade de conexion
//Data Source = NombreServidor;Initial Catalog = BaseDeDatos;Persist Security Info=True; User id = usuario;Password = contraseña
//Abres la conexion mediante la llamada al metodo open
Conexion.Open();
//Creas un DataSet para el guardado de datos
DataSet DS = new DataSet();
//Creas un SqlDataAdapter el cual pide la consulta y el obejeto conexion
SqlDataAdapter DA = new SqlDataAdapter("SELECT * FROM MiTabla", Conexion);
//Llamas al método Fill del objeto SqlDataAdapter para pasar la información de la consulta al DataSet
DA.Fill(DS);
//Cierras la conexion
Conexion.Close();
Con esto ya hiciste una consulta a SQL y el Dataset lo puedes mostrar en un datagridview mediante MiDataGridView.DataSource=MiDataSet
Ahora si necesitas un update, insert, etc... la conexión es la misma pero en lugar de un SqlDataAdapter, se tiene que crear un SqlCommand y llamar al método ExecuteBonQuery
Conexion.Open();
SqlCommand comando = new SqlCommand(Consulta, Conexion);
comando.ExecuteNonQuery();
Conexion.Close();