So I have a situation where I am using a SqlDataAdapter to insert rows into a table in a SQL Server 2014 database.
The source of the data is an Excel spreadsheet.
<
Each DataTable
tracks the RowState
of its rows, so manually adding data in a loop works because they are all Added
(it has nothing to do with manually creating the DataTable
- its the rows). When you load from some other source like Excel, they are not added/new.
If you use a DataAdapter
to fill the table, you can tell it not to set the RowState
to Unchanged. This is very useful for migrating data from one data store to another:
myDA.AcceptChangesDuringFill = False
...
rows = myDA.Fill(xlDT)