Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to delete all rows from datatable

I want to delete all rows from datatable with rowstate property value Deleted.

DataTable dt;
dt.Clear(); // this will not set rowstate property to delete.

Currently I am iterating through all rows and deleting each row.

Is there any efficient way? I don't want to delete in SQL Server I want to use DataTable method.


like image 481
meetjaydeep Avatar asked Oct 27 '25 06:10

meetjaydeep


2 Answers

We are using this way:

for(int i = table.Rows.Count - 1; i >= 0; i--) {
    DataRow row = table.Rows[i];
    if ( row.RowState == DataRowState.Deleted ) { table.Rows.RemoveAt(i); }
}
like image 153
TcKs Avatar answered Oct 29 '25 09:10

TcKs


This will satisfy any FK cascade relationships, like 'delete' (that DataTable.Clear() will not):

DataTable dt = ...;
// Remove all
while(dt.Count > 0)
{
     dt.Rows[0].Delete();
}
like image 30
Jorge Avatar answered Oct 29 '25 09:10

Jorge