Un dataset permite trabajar de modo 'desconectado' de la base de datos, puedes realizar todo tipo de operaciones con el que no se reflejan los cambios hasta que tu quieras utilizando conjuntamente con un adaptador
Código:
SqlDataAdapter adapter;
DataSet dataset;
adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(query, conexion);
dataset = new DataSet();
adapter.Fill(dataset);
dataset.Tables[0].Rows.Add(newRow);
SqlCommandBuilder myBuilder = new SqlCommandBuilder( adapter );
adapter.Update(dataset);