dotConnect for SugarCRM Documentation
Devart.Data.Sugar Namespace / SugarCommandBuilder Class / KeyFields Property
Example

KeyFields Property (SugarCommandBuilder)
Gets or sets string containing list of key field names separated by semicolon. They are used to generate update commands.
Syntax
'Declaration
 
Public Shadows Property KeyFields As String
 

Property Value

The string containing list of key field names separated by semicolon.
Remarks

This property is used when the ConflictOption property is set to OverwriteChanges, otherwise all columns will be used in the WHERE clause.

If KeyFields is nonempty, its value is used as the list of columns for the WHERE clause. If KeyFields is empty, the primary key columns are used.

Example
The following example demonstrates how UPDATE and DELETE statements are generated.
public void UseKeyFields(string connectionString) {

        SugarConnection conn = new SugarConnection(connectionString);
        conn.Open();

        SugarDataAdapter adapter = new SugarDataAdapter("SELECT * FROM Campaigns", conn);
        SugarCommandBuilder commBuilder = new SugarCommandBuilder(adapter);

        commBuilder.ConflictOption = ConflictOption.OverwriteChanges;

        commBuilder.KeyFields = "id, name";

        string updateComm = commBuilder.GetUpdateCommand().CommandText;
        string deleteComm = commBuilder.GetDeleteCommand().CommandText;

        Console.WriteLine(updateComm);
        Console.WriteLine(deleteComm);
        conn.Close();
}
Public Sub UseKeyFields(ByVal connectionString As String)
        Dim conn As SugarConnection = New SugarConnection(connectionString)
        conn.Open()

        Dim adapter As SugarDataAdapter = New SugarDataAdapter("SELECT * FROM Campaigns", conn)
        Dim commBuilder As SugarCommandBuilder = New SugarCommandBuilder(adapter)

        commBuilder.ConflictOption = ConflictOption.OverwriteChanges

        commBuilder.KeyFields = "id, name"

        Dim updateComm As String = commBuilder.GetUpdateCommand().CommandText
        Dim deleteComm As String = commBuilder.GetDeleteCommand().CommandText

        Console.WriteLine(updateComm)
        Console.WriteLine(deleteComm)
        conn.Close()
End Sub
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also