#ifndef QSQLQUERY_H
#define QSQLQUERY_H 
#include <QtSql/qsql.h>
#include <QtSql/qsqldatabase.h>
#include <QtCore/qstring.h>
typedef enum QtValidLicenseForSqlModule QtSqlModule;
struct QVariant;
struct QSqlResult;
template < typename Key, typename T > struct QMap;
struct QSqlQueryPrivate;
class QSqlQuery{
   public: QSqlQuery(struct QSqlResult* r);
   public: QSqlQuery(class QString const & query = QString::QString(), class QSqlDatabase db = QSqlDatabase::QSqlDatabase());
   public: explicit QSqlQuery(class QSqlDatabase db);
   public: QSqlQuery(class QSqlQuery const & other);
   public: class QSqlQuery& operator =(class QSqlQuery const & other);
   public: ~QSqlQuery();
   public: bool isValid() const
   public: bool isActive() const
   public: bool isNull(int field) const
   public: int at() const
   public: class QString lastQuery() const
   public: int numRowsAffected() const
   public: struct QSqlError lastError() const
   public: bool isSelect() const
   public: int size() const
   public: struct QSqlDriver const * driver() const
   public: struct QSqlResult const * result() const
   public: bool isForwardOnly() const
   public: struct QSqlRecord record() const
   public: void setForwardOnly(bool forward);
   public: bool exec(class QString const & query);
   public: struct QVariant value(int i) const
   public: bool seek(int i, bool relative = 0);
   public: bool next();
   public: bool previous();
   public: bool first();
   public: bool last();
   public: void clear();
   public: bool exec();
   public: enum BatchExecutionMode{
      ValuesAsRows = 0,
      ValuesAsColumns = 1,
   };
   public: bool execBatch(enum QSqlQuery::BatchExecutionMode mode = QSqlQuery::ValuesAsRows);
   public: bool prepare(class QString const & query);
   public: void bindValue(class QString const & placeholder, struct QVariant const & val, QSql::ParamType type = QSql::In);
   public: void bindValue(int pos, struct QVariant const & val, QSql::ParamType type = QSql::In);
   public: void addBindValue(struct QVariant const & val, QSql::ParamType type = QSql::In);
   public: struct QVariant boundValue(class QString const & placeholder) const
   public: struct QVariant boundValue(int pos) const
   public: class QMap < class QString, struct QVariant > boundValues() const
   public: class QString executedQuery() const
   public: struct QVariant lastInsertId() const
   private: struct QSqlQueryPrivate* d;
};
#endif // QSQLQUERY_H