Depends on Kommander
|Submitted: Feb 24 2008|
Updated: Apr 18 2008
NOTE: Requires Kommander 1.3 which shipped in KDE 3.5.9
I use these drivers to run a substantial interal Kommander application spanning 3 databases and dozens of dialogs. I have added a number of features over the old drivers that are huge time savers. I'm looking at including the port in KDE4. In this time I have received absolutely ZERO feedback from users. Yet this is less highly rated than the old drivers under which I suffered data loss. If you don't feel this project is worth a good vote, and particularly if you think it deserves a bad one, then do your part for the community and let me know why you feel this way.
Beyond a mere database connection with basic query this plugin delivers extra features for the result set of a query.
* search any field for string
* retrieve value by query, row or field
* dataset navigation functions
* full error reporting on all functions
* special dbInsertReturnId function performs an insert returns last insert id for MySql and PostgreSql
* returns primary index info
* dataset row and field count
* access row by index and get index from easy key search
* access field by index or name in the same function
* last error function
* last query function
* rows affected function
* driver availability testing
This plugin uses Qt3 drivers. Most distributions ship with Qt drivers enabled and available for Postgres, MySql and Sqlite. This means you can also use Kommander for Oracle, DB2 and ODBC.
Kommander is unique in offering not a universal front end that exposes everything to every user, but a custom interface to data forms at the complexity level of a spreadsheet. Upcoming versions will make it even easier by registering your widgets and automatically creating your data management controls.
If you have old Kommander database drivers already these are almost a drop in replacement. You have to rework your connect statement. There is almost no loss beyond connection in functionality and substantial improvements. See our change log.
1) unload the old drivers - don't install them both together!
2) install the new drivers
3) change your connect statements to reflect the new drivers.
See the included example for assistance.
* enabled nameless login for sqlite. Warning - on my system it crashes with any query using named fields instead of "*". I can't imagine this being universal so please feedback if it works for you. If I get feedback on how to fix it I will release with a fix. Date set navigation and searching work so it's not completely useless.
* dbFieldValue now accepts field name as well as field index
* Added dbFindRecord which operates on the last query result and takes the field name/index, a value, case sensitive switch and search start index and returns the record number. This can be used for quick searching keys or for finding every instance of a string in a field.
* added dialog error box if you mess up the driver on your connect statement
* Got Postgres to use the last insert ID!
* renamed rowsAffected to dbRowsAffected to have a consistent naming scheme
* fixed DateTime values separated by T
* Added dbPrimaryIndex function
* Added dbInsertReturnId function which returns the last insert id. Unforutnately I've only got it working for MySql so far. Postgres is next.
additional calls to get the widget text from the database after a query failed due to the query not being reset
* fixed - dbActionQuery would fail with two database widgets on the form
* fixed - text would return starting on the second row... if there was only one row you got nothing. Oops!
* Now uses Qt drivers!
* driver level transaction handling
* Last error
* lest query
* retrieve row and cell, not just row
* navigation functions for result set
* rows affected
* every function returns success/fail indications
Use new plugin architecture which won't break with any change to Kommander, which ironically is in it's last expected KDE3 incarnation.