The lack of information and low knowledge in real application’s development can trick us to do somethings that don’t really need to be done.
I think the problem is in the development platforms themselves, often they don’t provide you all the “right” tools thus inducting the programmer not to go the right way.
There is a serious lack when the subject is the database meta-data, and that is the key for many, many problems I find. Having the right info about the database itself can open the door to do things easier, also more comprehensive.
For instance, I found myself changing the textboxes size in my web apps when I changed the database, also, why do I need to pick the right control? Yes! Sometimes I really wish to do that, yet, how many choices do I have to insert text in my db? Also, many don’t have any knowledge about security at all, so having some nice meta-data binding and checking the data would be just what I expect.
Microsoft Framework.NET seems to be starting to solve (half) the problem, yet I don’t really think that’s the best approach. We can retrieve the db’s meta-data but using DataTables for that doesn’t look the best at all, also, they don’t even fully support their own database engine (SQL Server) – for instance, where do I get the tables keys and how do I know if a column has auto-increment?
After a closer look I found that they didn’t bother at all, the results for meta-data queries are fully optimized for Sql Server, they were done only to call one stored procedure – you can easily check that by seeing the right stored procedures and the GetSchema () output, they are almost a perfect match.
I wonder how will other DBProvider’s programmers react to this, will they follow MS specification or they will create their own?