QSqlDatabase 与多文档窗口注意事项(此文有部分错误 仅作留档 请参见下一篇解释)

当多文档窗口中有多个子窗口同时显示,而这几个子窗口又同时连接同一个数据库时,如果在子窗口的析构函数中使用

void QSqlDatabase::close ()

或者

void QSqlDatabase::removeDatabase ( const QString & connectionName ) [static]

此时会发现当关闭其中一个子窗口时正常   当关闭第二个子窗口时程序将崩溃

 

 

原因是第一个窗口关闭了数据库连接,或者移除了数据库,而第二个窗口关闭时又要关闭此连接,或者移除此数据库,而此时此链接或者数据库已经不存在,形似野指针    所以第二个窗口将无法正常关闭。

 

你可能感兴趣的:(数据库,文档)