In TDBAdvGrid the method ColumnByFieldName is case sensitive, so the following two statements can provide different results (actually an invalid object index):
The ColumnByFieldName implementation shows a direct string comparison to find the index, so any string provided is case sensitive and a developer needs to know the exact name. This even when the DB is not case sensitive with its metadata. Is this intended? If so, can there be a fix to have sensitive / not sensitive as an option?
Personal opinion: every architect / developer using case sensitive table and column names should be beaten with the biggest stick on earth; no benefit to use it, tons of possible problems.
Although we've never had any single remark about this in the past, we've changed this to a non-case sensitive check. Next update will have this change in comparison.
Many thanks! I came across this only by accident - I tend to design everything that touches the OS level in lowercase as moving files to e.g. UNIX otherwise can be a nightmare. This just happened with a quick test hack where I had a mixed case variable name copy'n'paste into the string constant.
BTW: I appreciate all the time and effort you guys put into maintaining and enhancing this great suite of components. Though I only really start again using Delphi after some years "off track" with a new project I am working on, using them really saves me lots of time as I can have a sexy looking interface with great usability without needing to "draw" this myself from standard components. Big win!