I go on and on about my little SQL and LDAP Table Gateways. But there's a particularly good reason why I love them: never having to write DML (Data Manipulation Language) statements again!. In SQL, these are the INSERT, UPDATE, DELETE statements. I'm doing some work on a system that predates my enlightenment, and I'm in a situation right now where I dearly miss it - I'm having to write a simple UPDATE method that can deal with a select set of column changes to an individual row. These are the columns that are most likely to be updated by the application itself, so it's a restricted subset. I was so happy when I didn't have to worry about such things. Now I'm writing a dynamic SQL statement where I have to be careful where I put commas, etc, because some 'SET foo=bla' statements may not be there. sigh