Why won't this DataAdapter insert rows into the database?

前端 未结 2 1952
孤独总比滥情好
孤独总比滥情好 2021-01-21 23:05

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.

<
相关标签:
2条回答
  • 2021-01-21 23:59

    I had the same issue, and the solution was quite simple, once you've seen it... I had my Database in Visual studio, and its property "Copy to Output Directory" was set to "Copy always", instead of "Do not copy". So everytime I was running my code, the database was erased!

    Solution : - modify your connection string so it points directly to your database - Change your database property to "Do not copy"

    0 讨论(0)
  • 2021-01-22 00:05

    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)
    
    0 讨论(0)
提交回复
热议问题