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.
public void UseKeyFields(string connectionString) { MySqlConnection conn = new MySqlConnection(connectionString); conn.Open(); MySqlDataAdapter adapter = new MySqlDataAdapter("SELECT * FROM Test.Dept", conn); MySqlCommandBuilder commBuilder = new MySqlCommandBuilder(adapter); commBuilder.ConflictOption = ConflictOption.OverwriteChanges; commBuilder.KeyFields = "DeptNo, DName"; 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 MySqlConnection = New MySqlConnection(connectionString) conn.Open() Dim adapter As MySqlDataAdapter = New MySqlDataAdapter("SELECT * FROM Test.Dept", conn) Dim commBuilder As MySqlCommandBuilder = New MySqlCommandBuilder(adapter) commBuilder.ConflictOption = ConflictOption.OverwriteChanges commBuilder.KeyFields = "DeptNo, DName" Dim updateComm As String = commBuilder.GetUpdateCommand().CommandText Dim deleteComm As String = commBuilder.GetDeleteCommand().CommandText Console.WriteLine(updateComm) Console.WriteLine(deleteComm) conn.Close() End Sub