
Kommander Database Plugin (1.3)
Source (link to git-repo or to original if based on someone elses unmodified work):
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.
Switching drivers:
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.
4) Enjoy!
See the included example for assistance.
version 0.4.6
* 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.
version 0.4.5
* 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.
version 0.4.4
* added dialog error box if you mess up the driver on your connect statement
* Got Postgres to use the last insert ID!
version 0.4.3
* 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.
version 0.4.2
additional calls to get the widget text from the database after a query failed due to the query not being reset
version 0.4.1
* 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!
version 0.4
* 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
version 0.3.2
Use new plugin architecture which won't break with any change to Kommander, which ironically is in it's last expected KDE3 incarnation.
Ratings & Comments
1 Comment
Hi, This is the plugin I've been waiting for! I have kde 3.59 and kmdr 1.3 Little prob compiling tho. Configure exits with no errors. Then doing a make reruns configure (?) next the beginning of the actual make begins, goes ok for a bit but...: Makefile:852: warning: overriding commands for target `clean-bcheck' Makefile:815: warning: ignoring old commands for target `clean-bcheck' Makefile:857: warning: overriding commands for target `bcheck-am' Makefile:820: warning: ignoring old commands for target `bcheck-am' make all-recursive make[1]: Entering directory `/home/gemlog/bin/kommander-scripts/plugin-database-0.4.6' Makefile:852: warning: overriding commands for target `clean-bcheck' Makefile:815: warning: ignoring old commands for target `clean-bcheck' Makefile:857: warning: overriding commands for target `bcheck-am' Makefile:820: warning: ignoring old commands for target `bcheck-am' Making all in examples make[2]: Entering directory `/home/gemlog/bin/kommander-scripts/plugin-database-0.4.6/examples' make[2]: *** No rule to make target `all'. Stop. make[2]: Leaving directory `/home/gemlog/bin/kommander-scripts/plugin-database-0.4.6/examples' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/gemlog/bin/kommander-scripts/plugin-database-0.4.6' make: *** [all] Error 2 There were no complaints about missing libs or anything during configure. The only line that is a bit odd is: configure: creating ./config.status wrong input (flag != 4) at admin/conf.change.pl line 117, <> line 1232. config.status: creating Makefile I did not pass any args to configure at all. Is there some version of autoconf or something it likes in particular (S.W.A.G. -- I have no idea really)? Thanks to anyone who knows what I'm doing wrong there. Please take time to post when you can.