Gemstone Data Library
Show/Hide TOC

# TableOperations T UpdateRecordWhereAsync(DataRow, String, CancellationToken, Object) Method

Updates the database with the specified row referenced by the specified SQL filter expression and parameters, any model properties marked with UpdateValueExpressionAttribute will be evaluated and applied before the record is provided to the data source.

## Definition

Namespace: Gemstone.Data.Model
Assembly: Gemstone.Data (in Gemstone.Data.dll) Version: 1.0.165 -- Release Build+f2de1f3c03632b89a9c6593906149f1c7d061b33
C#
View Source Request Example

    public Task<int> UpdateRecordWhereAsync(
    	DataRow row,
    	string filterExpression,
    	CancellationToken cancellationToken,
    	params Object?[] parameters
    )

VB
View Source Request Example

    Public Function UpdateRecordWhereAsync (
    	row As DataRow,
    	filterExpression As String,
    	cancellationToken As CancellationToken,
    	ParamArray parameters As Object()
    ) As Task(Of Integer)

C++
View Source Request Example

    public:
    virtual Task<int>^ UpdateRecordWhereAsync(
    	DataRow^ row,
    	String^ filterExpression,
    	CancellationToken cancellationToken,
    	... array<Object^>^ parameters
    ) sealed

JavaScript
View Source Request Example

    function UpdateRecordWhereAsync(row, filterExpression, cancellationToken, ... parameters);

#### Parameters

row DataRow
  DataRow of queried data to be updated.
filterExpression String
  Filter SQL expression for restriction as a composite format string - does not include WHERE. When escaping is needed for field names, use standard ANSI quotes.
cancellationToken CancellationToken
  Propagates notification that operations should be canceled.
parameters Object
  Restriction parameter values.

#### Return Value

Task Int32
Number of rows affected.

#### Implements

ITableOperationsUpdateRecordWhereAsync(DataRow, String, CancellationToken, Object)

## Remarks

Record restriction is only used for custom update expressions or in cases where modeled table has no defined primary keys.

Each indexed parameter, e.g., "{0}", in the composite format filterExpression will be converted into query parameters where each of the corresponding values in the parameters collection will be applied as IDbDataParameter values to an executed IDbCommand query.

If any of the specified parameters reference a table field that is modeled with either an EncryptDataAttribute or FieldDataTypeAttribute, then the function GetInterpretedFieldValue(String, Object) will need to be called, replacing the target parameter with the returned value so that the field value will be properly set prior to executing the database function.

If needed, field names that are escaped with standard ANSI quotes in the filter expression will be updated to reflect what is defined in the user model.

This is a convenience call to UpdateRecord(DataRow, RecordRestriction).

## See Also

#### Reference

TableOperationsT Class
UpdateRecordWhereAsync Overload
Gemstone.Data.Model Namespace