So I created a C# Windows Application using VS .NET 2005. I am connecting to a simple Access Database that has two columns. I placed a DataGridView on the form. I connect with the database successfully. Data rows are read correctly into the grid view via TableAdapter.Fill in form load. Then upon exit, I call TableAdapter.Update(DataSet.Table). That succeeds. In fact, Update returns the number of updated rows. I tested with modifying one row, it returns 1 or modifying four rows it returns 4. I even did a loop displaying contents of DataSet.Table and verified in the debug window that the content is the updated content. Problem is data does not get persisted to the database. I open Access Database or relaunch the application and old data is still there. I searched over the internet and people were saying you need to set update command. Framework already does that for me. I found the code where update command is set.