SqlDataAdapter holds the SQL commands and connection object for reading and writing data. It initializes with a SQL select statement and connection object: SqlDataAdapter daStudent = new SqlDataAdapter( "select StudentID, CollegeName from Students", conn); The SQL select statement specifies what data will be read into a DataSet. The connection object, conn, should have already been instantiated, but not opened. SqlCommandBuilder is instantiated with a single constructor parameter of the SqlDataAdapter, daStudent, instance. SqlCommandBuilder cmdBldr = new SqlCommandBuilder(daStudent); SqlCommandBuilder will read the SQL select statement (specified when the SqlDataAdapter was instantiated), infer the insert, update, and delete commands.