#ifndef SQLDATABASE_H #define SQLDATABASE_H #include #include class SqlQuery; class Q_SQL_EXPORT SqlDatabase : public QObject { Q_OBJECT ///////////////////////////////////////////////////////////// // properties Q_PROPERTY(QString hostName READ getHostName WRITE setHostName) Q_PROPERTY(QString databaseName READ getDatabaseName WRITE setDatabaseName) Q_PROPERTY(QString userName READ getUsername WRITE setUsername) Q_PROPERTY(QString passWord READ getPassword WRITE setPassword) Q_PROPERTY(QString driverName READ getDriverName WRITE setDriverName) Q_PROPERTY(bool isOpen READ isOpen) public: explicit SqlDatabase(QObject *pParent = 0); virtual ~SqlDatabase(void); ///////////////////////////////////////////////////////////// // methods Q_INVOKABLE bool open(void); Q_INVOKABLE void close(void); Q_INVOKABLE SqlQuery * query(const QString &sql) const; Q_INVOKABLE static bool isDriverAvailable(const QString &driveName); private: ///////////////////////////////////////////////////////////// // properties getters/setters QString getHostName(void) const; void setHostName(const QString &val); QString getDatabaseName(void) const; void setDatabaseName(const QString &val); QString getUsername(void) const; void setUsername(const QString &val); QString getPassword(void) const; void setPassword(const QString &val); QString getDriverName(void) const; void setDriverName(const QString &driverName); bool isOpen(void) const; private: QString m_hostName; QString m_databaseName; QString m_userName; QString m_passWord; QString m_connectionName; QString m_driverName; QSqlDatabase *m_pdb; static int m_nInst; }; class Q_SQL_EXPORT SqlQuery : public QObject { Q_OBJECT public: SqlQuery(QObject *pParent = 0); explicit SqlQuery(const QString &query, QSqlDatabase db); virtual ~SqlQuery(void); Q_INVOKABLE bool next(void); Q_INVOKABLE bool previous(void); Q_INVOKABLE QVariant value(int index) const; Q_INVOKABLE QVariant value(const QString &name) const; Q_INVOKABLE bool isValid(void) const; Q_INVOKABLE bool isActive(void) const; Q_INVOKABLE int size(void) const; Q_INVOKABLE void close(void); private: QSqlQuery *m_pQuery; }; #endif // SQLDATABASE_H