Skip to content

Updating Multiple Objects

This API updates multiple objects in a data table with a single request. Consider the following example, it demonstrates an API call which updates all objects in the Person data table where the value of the property age is greater than 20. As a result of the request, all updated objects will have the contactType property set to "personal":

Dictionary<string, object> changes = new Dictionary<string, object>();
changes[ "contactType" ] = "personal";

AsyncCallback<int> bulkUpdateCallback = new AsyncCallback<int>(
  objectsUpdated =>
  {
    System.Console.WriteLine( String.Format( "Server has updated {0} objects in the database", objectsUpdated ) );
  },
  error =>
  {
    System.Console.WriteLine( "Server returned an error " + error.Message );
  } );

Backendless.Data.Of( "Person" ).Update( "age > 20", changes, bulkUpdateCallback );

Blocking Method

int Backendless.Data.Of( "TABLE-NAME" ).Update( 
                               String whereClause,
                               Dictionary<string, object> changes );
public int Backendless.Data.Of<E>().Update( 
                           String whereClause, 
                           Dictionary<string, object> changes );

Non-Blocking API

void Backendless.Data.Of( "TABLE-NAME" ).Update( 
                      String whereClause, 
                      Dictionary<string, object> changes,
                      AsyncCallback<int> responder )
public void Backendless.Data.Of<E>().Update( 
                             String whereClause,
                             Dictionary<string, object> changes,
                             AsyncCallback<int> responder )

where:

Argument                Description
TABLE-NAME Name of the table where the objects are updated.
E A .NET class of the data objects to save.
whereClause A condition for selecting objects in the data table which will be updated.
changes A dictionary containing the changes which will be applied to all objects in the data table which match the condition expressed via whereClause.
responder a responder object which will receive a callback when the method successfully updates the objects or if an error occurs. Applies to the non-blocking method only.

Return Value

The method returns the number of objects updated in the database.

Codeless Reference

data_service_bulk_update

where:

Argument                Description
table name Name of the data table where records must be updated.
where clause A condition which references a column name and a specific value in the data table where an update has to be carried out. Refer to the Search With The Where Clause topic for more information.
changes This parameter expects an object that must contain the name of the column and a new value to update the existing contents with.
Return count of updated objects Optional parameter. When this box is checked, the operation returns the number of updated objects.

Returns the number of updated records.

Consider the following records in the employees data table:
data_service_example_bulk_update_1

In order to select data that must be updated, the example below sets a condition(where clause) for update operation to "ContactType = 'Personal'". As you can see in the screenshot above, the contactType is the column where two string values Personal are stored. By setting a condition, the method gets instructed to apply an update in a specific place(contactType column) and for a specific value(Personal).

data_service_example_bulk_update_2

The result of this operation will look as shown below after the Codeless logic runs. The values in the contactType column were changed from Personal to Work.

data_service_example_bulk_update_3

Moreover, the operation has returned the number 2, indicating the number of updated objects in the employees data table.

data_service_example_bulk_update_4