In addition to Griff's good answer:
There are two steps here. First is reading dates out of the database – if they're stored as dates, this is easy, but in your case you must parse them:
DateTime ParseDate(string dbcell) {
return DateTime.ParseExact(dbcell, "dd-MMM-yyyy", CultureInfo.CurrentCulture);
}
You need to do this before you can do anything useful with the dates on the client side.
Second is formatting them. You should only need to do this to (i) put them back into the database (using the same format as you are reading them back in, obviously), or (ii) display them to a user.
It is an important point: within your application dates should be dates, not strings, except for the very moment of putting them into a string context. In the first case you should be using the format you quoted (dd-MMM-yyyy), and in the second case you should be using the user's default format (i.e. just use DateTime.ToString()) or, if for a web application, using a date format which is stored with the user's profile.
There is rarely a reason to enforce a particular date format on users (particularly one which is US-centric and ambiguous for the first 12 days of each month).