+3  A: 

You can do this using ADO.Net DataTable.

Concurrency issues need to be carefully managed - for example, when multiple people change the same row, how are you going to handle that?

Steve Townsend
@steve thanks! i am going to manage it the same way i managed ms-access: no managing - they are responsible for their own changes
i am a girl
Er, C# isn't going to give you the same kind of options as you get with Access's optimistic locking.
David-W-Fenton
@david that's exactly my question, can you please direct me to a resource about optimistic locking?
i am a girl
@jenny - try this http://msdn.microsoft.com/en-us/library/aa0416cz.aspx
Steve Townsend
@jenny: This is not a simple issue at all. Access has a whole set of default behaviors built in so you don't have to program anything at all to cover this issue. I don't use C# so can't tell you what to do, but you'll have to roll your own, both in the way you interact with the data, and with a UI to help the user respond to write conflicts.
David-W-Fenton
@David-W-Fenton - that is what I meant when I mentioned management of concurrency issues. I am sure that to mimic Access behaviour is decidedly non-trivial. @jenny, I suggest you take a look at the `DataTable` events for change notification, and the info on optimistic locking, and come back with separate questions.
Steve Townsend