mirror of
https://gitlab.com/eql/lqml.git
synced 2025-12-06 02:30:38 -08:00
revisions
This commit is contained in:
parent
7ae3cfb04a
commit
6528022b70
6 changed files with 12 additions and 15 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
#include "qt.h"
|
#include "qt.h"
|
||||||
#include <QSqlQuery>
|
#include <QSqlQuery>
|
||||||
|
#include <QSqlRecord>
|
||||||
#include <QSqlError>
|
#include <QSqlError>
|
||||||
#include <QNetworkInterface>
|
#include <QNetworkInterface>
|
||||||
#include <QHostAddress>
|
#include <QHostAddress>
|
||||||
|
|
@ -171,7 +172,7 @@ QVariant QT::iniDb(const QVariant& vName) {
|
||||||
return vName;
|
return vName;
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant QT::sqlQuery(const QVariant& vQuery, const QVariant& vValues, const QVariant& vCols) {
|
QVariant QT::sqlQuery(const QVariant& vQuery, const QVariant& vValues) {
|
||||||
QVariantList results;
|
QVariantList results;
|
||||||
QSqlQuery sqlQuery(db);
|
QSqlQuery sqlQuery(db);
|
||||||
if (db.open()) {
|
if (db.open()) {
|
||||||
|
|
@ -182,7 +183,7 @@ QVariant QT::sqlQuery(const QVariant& vQuery, const QVariant& vValues, const QVa
|
||||||
sqlQuery.addBindValue(value);
|
sqlQuery.addBindValue(value);
|
||||||
}
|
}
|
||||||
if (sqlQuery.exec()) {
|
if (sqlQuery.exec()) {
|
||||||
auto cols = vCols.toInt();
|
auto cols = sqlQuery.record().count();
|
||||||
while (sqlQuery.next()) {
|
while (sqlQuery.next()) {
|
||||||
if (cols > 1) {
|
if (cols > 1) {
|
||||||
QVariantList list;
|
QVariantList list;
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public:
|
||||||
|
|
||||||
// SQLite
|
// SQLite
|
||||||
Q_INVOKABLE QVariant iniDb(const QVariant&);
|
Q_INVOKABLE QVariant iniDb(const QVariant&);
|
||||||
Q_INVOKABLE QVariant sqlQuery(const QVariant&, const QVariant&, const QVariant&);
|
Q_INVOKABLE QVariant sqlQuery(const QVariant&, const QVariant&);
|
||||||
|
|
||||||
// etc
|
// etc
|
||||||
Q_INVOKABLE QVariant dataPath(const QVariant&);
|
Q_INVOKABLE QVariant dataPath(const QVariant&);
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,7 @@
|
||||||
(defvar *file* nil)
|
(defvar *file* nil)
|
||||||
|
|
||||||
(defun query (query &rest values)
|
(defun query (query &rest values)
|
||||||
(let ((cols (and (x:starts-with "select" query)
|
(qrun* (qt:sql-query qt:*cpp* query values)))
|
||||||
(1+ (count #\, (subseq query 0 (search "from" query)))))))
|
|
||||||
(qrun* (qt:sql-query qt:*cpp* query values cols))))
|
|
||||||
|
|
||||||
(defun ini ()
|
(defun ini ()
|
||||||
(setf *file* (app:in-data-path "db"))
|
(setf *file* (app:in-data-path "db"))
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
#include "qt.h"
|
#include "qt.h"
|
||||||
#include <QSqlQuery>
|
#include <QSqlQuery>
|
||||||
|
#include <QSqlRecord>
|
||||||
#include <QSqlError>
|
#include <QSqlError>
|
||||||
#include <QQuickView>
|
#include <QQuickView>
|
||||||
#include <QtDebug>
|
#include <QtDebug>
|
||||||
|
|
@ -35,7 +36,7 @@ QVariant QT::iniDb(const QVariant& vName, const QVariant& vQuickView) {
|
||||||
return vName;
|
return vName;
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant QT::sqlQuery(const QVariant& vQuery, const QVariant& vValues, const QVariant& vCols) {
|
QVariant QT::sqlQuery(const QVariant& vQuery, const QVariant& vValues) {
|
||||||
QVariantList results;
|
QVariantList results;
|
||||||
QSqlQuery sqlQuery(db);
|
QSqlQuery sqlQuery(db);
|
||||||
if (db.open()) {
|
if (db.open()) {
|
||||||
|
|
@ -46,7 +47,7 @@ QVariant QT::sqlQuery(const QVariant& vQuery, const QVariant& vValues, const QVa
|
||||||
sqlQuery.addBindValue(value);
|
sqlQuery.addBindValue(value);
|
||||||
}
|
}
|
||||||
if (sqlQuery.exec()) {
|
if (sqlQuery.exec()) {
|
||||||
auto cols = vCols.toInt();
|
auto cols = sqlQuery.record().count();
|
||||||
while (sqlQuery.next()) {
|
while (sqlQuery.next()) {
|
||||||
if (cols > 1) {
|
if (cols > 1) {
|
||||||
QVariantList list;
|
QVariantList list;
|
||||||
|
|
@ -81,8 +82,7 @@ QVariant QT::sqlQuery(const QVariant& vQuery, const QVariant& vValues, const QVa
|
||||||
QPixmap DatabaseImageProvider::requestPixmap(const QString& name, QSize* size, const QSize& requestedSize) {
|
QPixmap DatabaseImageProvider::requestPixmap(const QString& name, QSize* size, const QSize& requestedSize) {
|
||||||
auto result = qt->sqlQuery(
|
auto result = qt->sqlQuery(
|
||||||
"select data from images where name = ?",
|
"select data from images where name = ?",
|
||||||
QVariantList() << name,
|
QVariantList() << name).value<QVariantList>();
|
||||||
1).value<QVariantList>(); // number of returned columns
|
|
||||||
QPixmap pixmap;
|
QPixmap pixmap;
|
||||||
if (!result.isEmpty()) {
|
if (!result.isEmpty()) {
|
||||||
pixmap.loadFromData(result.first().toByteArray());
|
pixmap.loadFromData(result.first().toByteArray());
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ class QT : public QObject {
|
||||||
public:
|
public:
|
||||||
Q_INVOKABLE QVariant dataPath(const QVariant&);
|
Q_INVOKABLE QVariant dataPath(const QVariant&);
|
||||||
Q_INVOKABLE QVariant iniDb(const QVariant&, const QVariant&);
|
Q_INVOKABLE QVariant iniDb(const QVariant&, const QVariant&);
|
||||||
Q_INVOKABLE QVariant sqlQuery(const QVariant&, const QVariant&, const QVariant&);
|
Q_INVOKABLE QVariant sqlQuery(const QVariant&, const QVariant&);
|
||||||
|
|
||||||
QT();
|
QT();
|
||||||
|
|
||||||
|
|
@ -30,7 +30,7 @@ class DatabaseImageProvider : public QQuickImageProvider {
|
||||||
public:
|
public:
|
||||||
DatabaseImageProvider(QT* _qt) : QQuickImageProvider(QQuickImageProvider::Pixmap), qt(_qt) {}
|
DatabaseImageProvider(QT* _qt) : QQuickImageProvider(QQuickImageProvider::Pixmap), qt(_qt) {}
|
||||||
|
|
||||||
QPixmap requestPixmap(const QString&, QSize*, const QSize&);
|
QPixmap requestPixmap(const QString&, QSize*, const QSize&) override;
|
||||||
|
|
||||||
QT* qt;
|
QT* qt;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,7 @@
|
||||||
(defvar *file* nil)
|
(defvar *file* nil)
|
||||||
|
|
||||||
(defun query (query &rest values)
|
(defun query (query &rest values)
|
||||||
(let ((rows (and (x:starts-with "select" query)
|
(qrun* (qt:sql-query qt:*cpp* query values)))
|
||||||
(1+ (count #\, (subseq query 0 (search "from" query)))))))
|
|
||||||
(qrun* (qt:sql-query qt:*cpp* query values rows))))
|
|
||||||
|
|
||||||
(defun ini ()
|
(defun ini ()
|
||||||
(setf *file* (app:in-data-path "db"))
|
(setf *file* (app:in-data-path "db"))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue