Question: Okay, I've seen but haven't programmed in C# before. You can assume I'm competent in C++, and advanced in C (for what good that'll do me). I understand inheritance, polymorphism, etc so OO concepts aren't going to be a huge problem.

Let's say I've been given a task to prototype a quick and dirty program that won't be much different than what I could do in access in a short time.

* It'll have a DB with 5-6 tables (mostly small, a few with have several thousand rows but only 4 or so columns, etc)
* I'll need to have forms generated dynamically from one of the DBs
* The results of the forms will be stored in another table
* The DB isn't multiuser

Basically your run of the mill access app... except without access. I'm sure I can muddle my way through and create horrendously bad code, but I'm equally sure lots of people here can give me a push in the right direction (tutorials, wizards, info, differences and killers moving from C/C++ to C#, etc).

Is there a simple DB I can plug in to get started aside from mdb, or is that the best choice for this particular nail? I'm aiming for a quick and dependency-less install.

Thanks!

-Adam

Answer: 
It sounds like for this app, you could use [Microsoft Dynamic Data](http://www.asp.net/dynamicdata/) or [Castle Active Record](http://www.castleproject.org/activerecord/index.html), and have the application working a few minutes after you finished the database. These tools connect to a database and generate forms for inputing data. Take a look at them.

Access is probably your best choice for database. MS Sql 2005/2008 Express would also work well, but that would require an install.
How about using SQLlite instead of access for db? I have never used it but have heard that its good for some light weight and quick db tasks.