Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Handling multiple database connections simultaneously

Handling multiple database connections simultaneously

Scheduled Pinned Locked Moved Unsolved General and Desktop
3 Posts 3 Posters 364 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Ramkumar MohanR Offline
    Ramkumar MohanR Offline
    Ramkumar Mohan
    wrote on last edited by
    #1

    I wrote this code,

    QSqlDatabase mydb = QSqlDatabase::addDatabase("QSQLITE","First");
    mydb.setDatabaseName("/home/pi/git/bc.db");
    if(!mydb.open())
    {
        qDebug() << "Can't Connect to DB !";
    }
    else
    {
        qDebug() << "Connected Successfully to DB !";
    }
    QSqlDatabase mydb1 = QSqlDatabase::addDatabase("QSQLITE","Second");
    mydb1.setDatabaseName("/home/pi/git/Bar_Data.db");
    if(!mydb1.open())
    {
        qDebug() << "Can't Connect to DB !";
    }
    else
    {
        qDebug() << "Connected Successfully to Bar_Data DB !";
    }
    

    Connect two databases simultaneously and manage data. But the database doesn't open, where am I doing wrong?

    cod.JPG

    It's showing error :-

    dd.JPG

    JonBJ 1 Reply Last reply
    0
    • Christian EhrlicherC Offline
      Christian EhrlicherC Offline
      Christian Ehrlicher
      Lifetime Qt Champion
      wrote on last edited by Christian Ehrlicher
      #2

      You have to pass the database you want to use for your QSqlQuery in it's ctor.

      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
      Visit the Qt Academy at https://academy.qt.io/catalog

      1 Reply Last reply
      1
      • Ramkumar MohanR Ramkumar Mohan

        I wrote this code,

        QSqlDatabase mydb = QSqlDatabase::addDatabase("QSQLITE","First");
        mydb.setDatabaseName("/home/pi/git/bc.db");
        if(!mydb.open())
        {
            qDebug() << "Can't Connect to DB !";
        }
        else
        {
            qDebug() << "Connected Successfully to DB !";
        }
        QSqlDatabase mydb1 = QSqlDatabase::addDatabase("QSQLITE","Second");
        mydb1.setDatabaseName("/home/pi/git/Bar_Data.db");
        if(!mydb1.open())
        {
            qDebug() << "Can't Connect to DB !";
        }
        else
        {
            qDebug() << "Connected Successfully to Bar_Data DB !";
        }
        

        Connect two databases simultaneously and manage data. But the database doesn't open, where am I doing wrong?

        cod.JPG

        It's showing error :-

        dd.JPG

        JonBJ Offline
        JonBJ Offline
        JonB
        wrote on last edited by JonB
        #3

        @Ramkumar-Mohan
        Just to expand a bit on @Christian-Ehrlicher's answer.

        If you call addDatabase("QSQLITE") like that without passing a connectionName argument then that database becomes the default one and all QSqlQuerys use it by default. But as soon as you pass a second argument as a connectionName, addDatabase("QSQLITE", "someName"), it is not the default, and you must pass that database explicitly to QSqlQuerys (QSqlQuery(mydb)) to make them use that named database. See https://doc.qt.io/qt-6/qsqldatabase.html#addDatabase.

        1 Reply Last reply
        1

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved