引用第2楼zhangrui241于2009-04-03 11:48发表的 :
我现在有两个类都需要用DB连接,这样就得连接两次,DB就会出错,怎么能让他只连接一次呢?
建个超类?两个类都继承这个超类?
还是有什么好办法?
给每个数据库连接指定一个唯一的connectionName,不然建立第二个连接的时候第一个连接就会自动断开
可以考虑封装一个专门用于连接数据库的类,在构造函数中把connectionName作为一个参数,连接的时候指定这个参数.
比如:
/*dbConnection.h*/
class dbConnection : public QObject
{
Q_OBJECT
public:
dbConnection(const QString &fileName);
bool createConnection(QString connectionName);
bool createConnection();
void open();
void close();
......
};
/*dbConnection.cpp*/
bool dbConnection::createConnection(QString connectionName)
{
db=QSqlDatabase::addDatabase(dbType,connectionName);
......
}