| LinkarClientUpdateAsync Method |
Linkar Framework for .NET and Core
Update one or several records of a file, in a asynchronous way with JSON input and output format.
Namespace: Linkar.Functions.Persistent.JSONAssembly: Linkar.Functions.Persistent.JSON (in Linkar.Functions.Persistent.JSON.dll) Version: 2.3.1
Syntax public Task<string> UpdateAsync(
string filename,
string records,
UpdateOptions updateOptions = null,
JSON_FORMAT jsonFormat = JSON_FORMAT.JSON,
string customVars = "",
int receiveTimeout = 0
)
Public Function UpdateAsync (
filename As String,
records As String,
Optional updateOptions As UpdateOptions = Nothing,
Optional jsonFormat As JSON_FORMAT = JSON_FORMAT.JSON,
Optional customVars As String = "",
Optional receiveTimeout As Integer = 0
) As Task(Of String)
public:
Task<String^>^ UpdateAsync(
String^ filename,
String^ records,
UpdateOptions^ updateOptions = nullptr,
JSON_FORMAT jsonFormat = JSON_FORMAT::JSON,
String^ customVars = L"",
int receiveTimeout = 0
)
member UpdateAsync :
filename : string *
records : string *
?updateOptions : UpdateOptions *
?jsonFormat : JSON_FORMAT *
?customVars : string *
?receiveTimeout : int
(* Defaults:
let _updateOptions = defaultArg updateOptions null
let _jsonFormat = defaultArg jsonFormat JSON_FORMAT.JSON
let _customVars = defaultArg customVars ""
let _receiveTimeout = defaultArg receiveTimeout 0
*)
-> Task<string>
Parameters
- filename String
- Name of the file being updated.
- records String
- Buffer of record data to update. Inside this string are the recordIds, the modified records, and the originalRecords.
- updateOptions UpdateOptions (Optional)
- Object with write options, including optimisticLockControl, readAfter, calculated, dictionaries, conversion, formatSpec, originalRecords.
- jsonFormat JSON_FORMAT (Optional)
- Enum JSON_FORMAT specifies the desired output format: standard JSON, JSON_DICT format, or JSON_SCH format
- customVars String (Optional)
- Free text sent to the database allows management of additional behaviours in SUB.LK.MAIN.CONTROL.CUSTOM, which is called when this parameter is set.
- receiveTimeout Int32 (Optional)
- Maximum time in seconds that the client will wait for a response from the server. Default = 0 to wait indefinitely.
Return Value
TaskStringThe results of the operation.
Remarks
Inside the records argument, the recordIds and the modified records always must be specified. But the originalRecords not always.
When
updateOptions argument is specified and the
OptimisticLockControl property is set to true, a copy of the record must be provided before the modification (originalRecords argument)
to use the Optimistic Lock technique. This copy can be obtained from a previous
ReadAsync(String, String, String, ReadOptions, JSON_FORMAT, String, Int32) operation. The database, before executing the modification,
reads the record and compares it with the copy in originalRecords, if they are equal the modified record is executed.
But if they are not equal, it means that the record has been modified by other user and its modification will not be saved.
The record will have to be read, modified and saved again.
Example using Linkar;
using Linkar.Functions.Persistent.JSON;
class Test
{
public string MyUpdate()
{
string result = "";
try
{
CredentialOptions credentials = new CredentialOptions("127.0.0.1", "EPNAME", 11300, "admin", "admin");
LinkarClient client = new LinkarClient();
client.Login(credentials);
result = client.UpdateAsync("LK.CUSTOMERS",
"{" +
" \"RECORDS\": [" +
" {" +
" \"LKITEMID\": \"2\"," +
" \"NAME": \"CUSTOMER 2\"," +
" \"ADDR": \"ADDRESS 2\"," +
" \"PHONE": \"444\"" +
" }" +
" ]" +
"}").Result;
client.Logout();
}
catch (Exception ex)
{
string error = ex.Message;
}
return result;
}
}
Imports Linkar
Imports Linkar.Functions.Persistent.JSON
Class Test
Public Function MyUpdate() As String
Dim result As String = ""
Try
Dim credentials As CredentialOptions = New CredentialOptions("127.0.0.1", "EPNAME", 11300, "admin", "admin")
Dim client As LinkarClient = New LinkarClient()
client.Login(credentials)
result = client.UpdateAsync("LK.CUSTOMERS",
"{" +
" \"RECORDS\": [" +
" {" +
" \"LKITEMID\": \"2\"," +
" \"NAME": \"CUSTOMER 2\"," +
" \"ADDR": \"ADDRESS 2\"," +
" \"PHONE": \"444\"" +
" }" +
" ]" +
"}").Result
client.Logout()
Catch ex As Exception
Dim[error] As String = ex.Message
End Try
Return result
End Function
End Class
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also