sqlitewrapper.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef SQLITEWRAPPER_H
  2. #define SQLITEWRAPPER_H
  3. #include "sqldef.h"
  4. #include <QObject>
  5. #include <QSqlError>
  6. #include <QStandardItemModel>
  7. #include <QtDebug>
  8. #include <QtSql/QSqlDatabase>
  9. #include <QtSql/QSqlQuery>
  10. #include <QtSql/QSqlRecord>
  11. class SqliteWrapper : public QObject {
  12. Q_OBJECT
  13. public:
  14. explicit SqliteWrapper(QObject* parent = nullptr);
  15. SqliteWrapper(QString fileName, QString dbName);
  16. ///设置Sqlite文件路径
  17. void setFileName(QString fileName);
  18. void setDbName(QString dbName);
  19. void open();
  20. void close();
  21. bool isOpened();
  22. ///显示数据
  23. void select(QString sql, QStandardItemModel* model);
  24. void select(QString sql, QSqlQuery& qry);
  25. void selectToTreeView(QString sql, int pid, QStandardItemModel* model);
  26. void loadItemData(int pid, QStandardItemModel* model, QStandardItem* parentItem, QList<TreeviewData>& items);
  27. ///查找id
  28. int findId(QString tableName, QString fieldName, QString fieldValue);
  29. bool execute(QString sql);
  30. void truncateTables(QStringList& tables);
  31. QSqlDatabase& getDataBase();
  32. int getMaxId(QString tableName);
  33. void prepare(QString sql, QSqlQuery& qry);
  34. private:
  35. QString fileName;
  36. QString dbName;
  37. QSqlDatabase database;
  38. bool opened;
  39. signals:
  40. public slots:
  41. };
  42. #endif // SQLITEWRAPPER_H