• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 70, 文章 - 0, 評(píng)論 - 9, 引用 - 0
            數(shù)據(jù)加載中……

            QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.

            編譯無問題,在執(zhí)行時(shí)終端出現(xiàn)以下字母

            QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
            QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.

             


            執(zhí)行中的數(shù)據(jù)庫操作如下
                QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

                db.setDatabaseName(
            "C:/workspace/GData.s3db");
                
            if(!db.open())
                
            {
                    cout
            <<"open database failed!"<<endl;
                    
            return 0;
                }

                QSqlQuery query(
            "select XmlValue from GBond where BondId=3", db);

                
            if (query.next())
                
            {
                    QString stringXml 
            = query.value(0).toString();

                    
            //do something

                }


                db.close();
                QSqlDatabase::removeDatabase(
            "QSQLITE");

            經(jīng)查,是由于在數(shù)據(jù)庫使用過程中,又再次調(diào)用QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 造成了問題。
            因此在其他地方的數(shù)據(jù)庫操作中修改此代碼。

            可以在執(zhí)行QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 不用默認(rèn)的defaultConnection,自己加入名字,然后在每次的添加時(shí)可改為:
                QSqlDatabase db;
                
            if(QSqlDatabase::contains("GBond"))
                    db 
            = QSqlDatabase::database("GBond");
                
            else
                    db 
            = QSqlDatabase::addDatabase("QSQLITE""GBond");

            這樣該問題已解決。

            但再次執(zhí)行時(shí)出現(xiàn)了
            QSqlQuery::exec: database not open
            QSqlQuery::exec: database not open

            經(jīng)查,這是由于在執(zhí)行query.exec時(shí)沒有指定db。將所有執(zhí)行query.exec改為
            //原來
            QSqlQuery query;
            query.exec(
            "select XmlValue from GPlatform");

            //改為

            QSqlQuery query(
            "select XmlValue from GPlatform", db);

            這樣就可以了。

            posted on 2010-12-31 09:29 seahouse 閱讀(12572) 評(píng)論(1)  編輯 收藏 引用 所屬分類: Qt

            評(píng)論

            # re: QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.  回復(fù)  更多評(píng)論   

            撒花,樓主解決了我的問題,謝謝
            2013-10-11 15:09 | jzaicn
            精品综合久久久久久98| 久久精品视频免费| 久久久亚洲欧洲日产国码是AV | 久久久久亚洲AV无码专区首JN| 色综合久久中文字幕综合网| 亚洲国产欧洲综合997久久| 97久久天天综合色天天综合色hd | 97超级碰碰碰碰久久久久| 久久天天日天天操综合伊人av| 久久人妻少妇嫩草AV蜜桃| 久久国产成人精品麻豆| 久久无码国产| 久久精品一区二区| 久久无码AV一区二区三区| 国产精品久久久久9999| 久久人妻AV中文字幕| 国产精品无码久久四虎| 久久狠狠高潮亚洲精品| 99久久免费国产精品特黄| 热久久这里只有精品| 久久青青草原亚洲av无码app| 久久久久久国产精品美女 | 日韩欧美亚洲国产精品字幕久久久| 久久久婷婷五月亚洲97号色| 日本久久久久久久久久| 久久久免费观成人影院| 天天综合久久久网| 久久香蕉综合色一综合色88| 久久婷婷五月综合97色一本一本| 伊人久久无码精品中文字幕| 国产激情久久久久影院老熟女| 青青草国产成人久久91网| www性久久久com| 久久婷婷国产综合精品| 亚洲中文久久精品无码ww16| 久久频这里精品99香蕉久| 久久亚洲av无码精品浪潮| 久久亚洲电影| 久久乐国产综合亚洲精品| 狠狠综合久久综合88亚洲| 色播久久人人爽人人爽人人片AV|