'Declaration Public Shadows Property DeleteCommand As SqlCommand
public new SqlCommand DeleteCommand {get; set;}
'Declaration Public Shadows Property DeleteCommand As SqlCommand
public new SqlCommand DeleteCommand {get; set;}
Typically you do not need to use DeleteCommand when working with SqlDataTable. All simple update operations are performed automatically using embedded CommandBuilder. DeleteCommand enables you to perform specific operations like shown in the sample below.
DeleteCommand uses its own Connection if it is created. Otherwise DeleteCommand uses Connection.
public void UseDataTable(SqlConnection myConnection) { SqlDataTable myDataTable = new SqlDataTable("SELECT * FROM Test.Dept", myConnection); try { myDataTable.Active = true; myDataTable.Rows[1].Delete(); myDataTable.DeleteCommand = new SqlCommand("DELETE FROM Test.Emp WHERE DeptNo = :DeptNo;DELETE FROM Test.Dept WHERE DeptNo = :DeptNo", myConnection); myDataTable.DeleteCommand.Parameters.Add("DeptNo", SqlType.Int, 0, "DeptNo").SourceVersion = DataRowVersion.Original; myDataTable.Update(); foreach(DataRow myRow in myDataTable.Rows) { foreach(DataColumn myCol in myDataTable.Columns) { Console.Write(myRow[myCol]+"\t"); } Console.WriteLine(); } } finally { myDataTable.Active = false; } }
Public Sub UseDataTable(ByVal myConnection As SqlConnection) Dim myDataTable As SqlDataTable = New SqlDataTable("SELECT * FROM Test.Dept", myConnection) Try myDataTable.Active = True myDataTable.Rows(2).Delete() myDataTable.DeleteCommand = New SqlCommand("DELETE FROM Test.Emp WHERE DeptNo = :DeptNo;DELETE FROM Test.Dept WHERE DeptNo = :DeptNo", myConnection) myDataTable.DeleteCommand.Parameters.Add("DeptNo", SqlType.Int, 0, "DeptNo").SourceVersion = DataRowVersion.Original myDataTable.Update() Dim myRow As DataRow Dim myCol As DataColumn For Each myRow In myDataTable.Rows For Each myCol In myDataTable.Columns Console.Write(myRow(myCol) & Chr(9)) Next myCol Console.WriteLine() Next myRow Finally myDataTable.Active = False End Try End Sub