Qt 之 QSqlDriverCreator Class

来源:互联网 发布:域名所有权验证方式 编辑:程序博客网 时间:2024/06/05 19:13

详细描述

QSqlDriverCreator 类是为特定驱动类型提供SQL驱动工厂的模板类。
QSqlDriverCreator<T>实例化类型T的对象,其中T是 QSqlDriver的子类。

怎么注册一个SQL驱动

我们可以通过 void QSqlDatabase::registerSqlDriver(const QString & name, QSqlDriverCreatorBase * creator) [static] 这个函数来注册一个新的SQL驱动到Qt的SQL 模块中。这个函数在SQL框架中注册一个名叫name的新SQL驱动(程序)。如果你有一个自定义的SQL驱动(程序),又不想将它编译成一个插件,那么这个API将非常有用。

例子:
  QSqlDatabase::registerSqlDriver("MYDRIVER",                                  new QSqlDriverCreator<MyDatabaseDriver>);  QSqlDatabase db = QSqlDatabase::addDatabase("MYDRIVER");
QSqlDatabase 获取创建者指针(QSqlDriverCreator*)的所有权,因此你不能自己删除它。

相关API

QSqlDriver * QSqlDriverCreator::createObject() const [virtual]
该函数是重写QSqlDriverCreatorBase类的纯虚函数 QSqlDriverCreatorBase::createObject(),重新实现该函数用于返回QSqlDriver 子类的新实例。(这里面还用了工厂方法设计模式哦,想了解设计模式相关可以去看LZ的设计模式专栏)。





原创粉丝点击