No sé si esto se puede hacer de una manera directa. No hay ningún comando de eliminación en la tabla de datos que hará esto.
Puede intentar algo como esto. Seleccione los registros que desea mantener en una tabla temporal, borre la tabla original y luego combine la tabla temporal de nuevo en la original.
Dim dtTemp As DataTable = ds.Tables("YourTable").Select("RecordsToKeep='This'").CopyToDataTable
ds.Tables("YourTable").Clear()
ds.Tables("YourTable").Merge(dtTemp)
dtTemp.Dispose()
Esa es la mejor respuesta a la pregunta que se me ocurre. Parece que puede estar usando la tabla de datos de una manera inusual. Por lo general, es mejor que no llene los registros para empezar o que los filtre cuando guarde los contenidos en su destino. Ya sea un archivo XML, SQL o lo que sea.
Sin duda, el método de bucle sería el más eficiente. Es probable que este no sea el método más rápido, pero por solo 4K filas, probablemente sea lo suficientemente bueno.
¿Cómo estás determinando qué 10 00 de las 4000 filas para eliminar? – JeffO
Esa es mi pregunta es, ¿hay alguna manera de determinar las filas para la eliminación? – KuldipMCA
¿Podría agregar a su pregunta qué clase .NET utiliza para representar los datos en la memoria? ¿Es DataSet u otra clase? O puedo reformular la pregunta: ¿usa SqlDataAdapter o LinkToSql o Entity Framework para acceder a la base de datos? Por cada forma en que uno puede escribir una solución, pero no quiero escribir diferentes versiones del código si solo necesita una. Un pequeño ejemplo de tabla de base de datos (2-3 campos) también podría ser muy bueno, entonces usaré estos campos en mi ejemplo de código. – Oleg