Click or drag to resize

LinkarClientUpdate Method

Linkar Framework for .NET and Core


Update one or several records of a file, synchronously only, with MV input and output format.

Namespace: Linkar.Functions.Persistent.MV
Assembly: Linkar.Functions.Persistent.MV (in Linkar.Functions.Persistent.MV.dll) Version: 2.3.1
Syntax
public string Update(
	string filename,
	string records,
	UpdateOptions updateOptions = null,
	string customVars = "",
	int receiveTimeout = 0
)

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. Use StringFunctions.ComposeUpdateBuffer (Linkar.Strings library) function to compose this string.
updateOptions  UpdateOptions  (Optional)
Object with write options, including optimisticLockControl, readAfter, calculated, dictionaries, conversion, formatSpec, originalRecords.
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

String
The 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 Read(String, String, String, ReadOptions, 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.MV;

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.Update("LK.CUSTOMERS", "2" + ASCII_Chars.FS_chr + "CUSTOMER 2þADDRESS 2þ444" + ASCII_Chars.FS_chr + "");
                client.Logout();
            }
            catch (Exception ex)
            {
                string error = ex.Message;
                // Do something
            }
            return result;
        }
    }
See Also