** As far as limiting or validating RDBMS-given data by user or other constraints, there are triggers, referential integrity, AccessControlLists, etc. (from DatabaseNotMoreGlobalThanClasses) I've looked for more information on how TOP developers (not just top ;)) deal with raising exceptions to the user using triggers, constraints, etc. I've some questions. Please note that my domain of expertise is web applications; I'm sure there are other questions to be asked from a desktop perceptive. * Is there a procedure that makes RDBMS error messages user-friendly and, thus, usable? * How do you raise multiple exceptions to business rules using an RDBMS? * Does data validation always entail the database? I'll add more as I think of them. I'm all about DivideAndConquer. I'm also all about creating a domain model that makes it easier to maintain the system/application. [ScottNeumann] -------- Most built-in RDBMS error messages are meant for techies, not end-users. However, there are generally a handful that are common to issues that the end-user can deal with. For example, take a duplicate name or key exception. Normally you check the existence first before performing the transaction. However, it is possible that an addition could have happened between short time that duplicates were checked and the time that the transaction is tried. Since we know such an error is possible under regular activity, we chould translate the message into into something for the end user. if (x.ODBC_errCode == 2345) { raiseError("Duplicate record. That part number already exists."); } Another approach for a bigger shop is the have a table that translates error codes into English: From To Description ----------------------- 2345 2345 "Duplicate record. That item already exists." 2501 2507 "The database or table is locked, probably for maintenance. Please try again later." 2745 2750 "Text or data is too long. Please inspect or your data." In some cases you may want it to display both the end-user version and the original to make phone support easier. Example: ---------------------- ERROR ---------------------- Duplicate record, That item already exists. ---------------------- TECHNICAL DETAILS: Error code: 2345 Constraint KDH-HDFL was violated during result set insertion on compound key value of.... ---------------------- If the simplified version does not exist in the table, then display the technical version only (strait from the driver). It is also good to send the error to a log for later inspection such that the translation table can be improved. ---- Okay, that validated an assumption I made for myself. I've actually done all of above myself outside of having a table maintain error messages (have used a config file of name/value pairs which is really the same but different. ;)) But, what about the other two questions? Multiple Exceptions & Data Validation? Curious. [ScottNeumann] ---- SourceCodeControlWithTop