Using the 2-parameter version of addDatabase() fixes the errors on launch. Thanks Colin.

Still searching for best ways to access multiple db connections (docs say it's possible, but don't describe how), I finally came upon the following two links.

This is an article by Jasmin Blanchette & Mark Summerfield on C++ programming with QT4 Databases: http://www.informit.com/articles/article.aspx?p=1405550 . It points to a QSqlQuery constructor that accepts a db argument. Bingo!

Here's an article from Linux Journal, by Dave Berton, on asynchronous DB access: http://www.linuxjournal.com/article/9602?page=0,0.

Scott





On May 29, 2010, at 3:12 AM, Colin McPhail wrote:

Hi,

On 28 May 2010, at 23:11, Scott Frankel wrote:


Hi all,

What's the best way to manage multiple database connections in an application? Specifically, how can I manage which db connection is used for models, queries, &c.?


The documentation says that multiple connections can be declared with a unique name for each on calling addDatabase(). My simple implementation yields errors and doesn't seem to provide a means to load data or call queries on one or the other. For example,

        db2 = QtSql.QSqlDatabase.addDatabase("QPSQL")
        db2.setDatabaseName("foo_db")

        db1 = QtSql.QSqlDatabase.addDatabase("QSQLITE")
        db1.setDatabaseName(":memory:")

This yields the following errors:       

...

Have you tried using the two-parameter version of addDatabase(), where the second parameter is the unique name? I believe that the code above is creating, and then re-creating, the 'default' database.

Regards,
-- CMcP

_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to