The pity for me is that I use Firebird and that has been dropped since the days of wxDatabaseLayer.
I would quite like to have a go at adding Firebird back in, but I would want to use IBPP rather than directly using the (horrible!) Interbase C API. In effect the wxFirebirdDatabase would be a thinish wrapper around IBPP. Later I might also look at the Firebird 3 OO API.
Of course this would mean including IBPP within the wxDatabase project, are there any thoughts or concerns about this?
Also I appreciate it is a rather big (and possibly wholly unuseful) change, but I was wondering if it might be worth considering using wxAny in the resultset, in fact a resultset could derive from wxVector<wxVector<wxAny> >.
The reason is that I rather like range based for's and it would then be possible to do something like:
Code: Select all
pDatabase->RunQueryWithResults ("SELECT * FROM Names;", resultSet);
for (wxDatabaseRow row : resultSet)
people.push_back ( myPerson (
row.Field("ID").As<int>(), // ID
row.Field("NAME").As<wxString>(), // name
I appreciate that there are a number of problems with this approach, but just wanted to throw it out there ...