Difference between SqlCommand and SqlCommandBuilder


The SQLCommand Object is used to executes SQL statements and Stored Procedures against the data source. It execute all kind of SQL queries like Insert, update etc.


SqlCommand cmd = new SqlCommand("your sql statements", Connection); cmd.ExecuteNonQuery();


The SqlCommandBuilder can be used to build and execute SQL queries based on the select command that you will supply. It provides the feature of reflecting the changes made to a DataSet or an instance of the SQL server data. The CommandBuilder opens the Connection associated with the DataAdapter Object and makes a round trip to the server each and every time and it's asked to construct the action queries.

The SqlCommandBuilder object acts as a listener for RowUpdating events, whenever the DataAdapter property is set. You can create a SqlCommandBuilder object to automatically generate SQL statements for single table updates if you set the SelectCommand property of the SqlDataAdapter.


SqlDataAdapter adapter = new SqlDataAdapter("your sql statement", connection); SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(adapter); adapter.Fill(ds); //Here you can do any modification to the selected data ds.Tables[0].Rows[i].ItemArray[2] = Convert.ToInt32 (ds.Tables[0].Rows[i].ItemArray[2]) + 100; //Here save the data to the datasource adapter.Update(ds.Tables[0]);

The above code select data from database and update it with the help of SqlCommandBuilder object and saves back to the datasource.

C# SqlCommandBuilder Sample      VB.Net SqlCommandBuilder Sample