Seperating data from user interface

A few days ago a friend of mine asked me the following. He was working on a program with a database backend. He found some ORM tools on the web, but every time they worked differently (use that or that class, mapping files, configurations, …) and he was worried that if he took the wrong ORM tool that later on in the program they would be stuck with it.

So he asked me if I knew anything where this wouldn’t be the case. I was pretty busy at the moment but I told him that I would let him know anything in a few days.

Anybody that had the same problem before and has a good solution for it?

Written and tagged in Software Edit