下面的方法可以避免这种错误:
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.

 

    //为了支持中文  
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());  
     
    QSqlDatabase sqlDatabase;  
    //与数据库建立连接  
    if (QSqlDatabase::contains("my_conn"))  
    {  
        sqlDatabase = QSqlDatabase::database("my_conn");  
    }  
    else 
    {  
        sqlDatabase = QSqlDatabase::addDatabase("QSQLITE", "my_conn");  
    }  
    //设置数据库名  
    sqlDatabase.setDatabaseName("my_database.db");  
    //打开数据库  
    if (!sqlDatabase.open())  
    {  
        qDebug() << "Open database failed!";  
        return;  
    }  
    QString query_str = "select * from my_table";  
    //查询数据库  
    QSqlQuery sqlQuery(query_str, sqlDatabase);  
    sqlQuery.exec();  
    while (sqlQuery.next())  
    {  
        for (int i = 0; i < cnt; ++i)  
        {  
            qDebug() << sqlQuery.value(i).toString();  
        }  
    }  
    // 关闭数据库  
    sqlDatabase.close();