revisions

This commit is contained in:
pls.153 2025-03-24 18:37:52 +01:00
parent 7ae3cfb04a
commit 6528022b70
6 changed files with 12 additions and 15 deletions

View file

@ -1,5 +1,6 @@
#include "qt.h"
#include <QSqlQuery>
#include <QSqlRecord>
#include <QSqlError>
#include <QNetworkInterface>
#include <QHostAddress>
@ -171,7 +172,7 @@ QVariant QT::iniDb(const QVariant& 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;
QSqlQuery sqlQuery(db);
if (db.open()) {
@ -182,7 +183,7 @@ QVariant QT::sqlQuery(const QVariant& vQuery, const QVariant& vValues, const QVa
sqlQuery.addBindValue(value);
}
if (sqlQuery.exec()) {
auto cols = vCols.toInt();
auto cols = sqlQuery.record().count();
while (sqlQuery.next()) {
if (cols > 1) {
QVariantList list;

View file

@ -41,7 +41,7 @@ public:
// SQLite
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
Q_INVOKABLE QVariant dataPath(const QVariant&);

View file

@ -3,9 +3,7 @@
(defvar *file* nil)
(defun query (query &rest values)
(let ((cols (and (x:starts-with "select" query)
(1+ (count #\, (subseq query 0 (search "from" query)))))))
(qrun* (qt:sql-query qt:*cpp* query values cols))))
(qrun* (qt:sql-query qt:*cpp* query values)))
(defun ini ()
(setf *file* (app:in-data-path "db"))

View file

@ -1,5 +1,6 @@
#include "qt.h"
#include <QSqlQuery>
#include <QSqlRecord>
#include <QSqlError>
#include <QQuickView>
#include <QtDebug>
@ -35,7 +36,7 @@ QVariant QT::iniDb(const QVariant& vName, const QVariant& vQuickView) {
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;
QSqlQuery sqlQuery(db);
if (db.open()) {
@ -46,7 +47,7 @@ QVariant QT::sqlQuery(const QVariant& vQuery, const QVariant& vValues, const QVa
sqlQuery.addBindValue(value);
}
if (sqlQuery.exec()) {
auto cols = vCols.toInt();
auto cols = sqlQuery.record().count();
while (sqlQuery.next()) {
if (cols > 1) {
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) {
auto result = qt->sqlQuery(
"select data from images where name = ?",
QVariantList() << name,
1).value<QVariantList>(); // number of returned columns
QVariantList() << name).value<QVariantList>();
QPixmap pixmap;
if (!result.isEmpty()) {
pixmap.loadFromData(result.first().toByteArray());

View file

@ -18,7 +18,7 @@ class QT : public QObject {
public:
Q_INVOKABLE QVariant dataPath(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();
@ -30,7 +30,7 @@ class DatabaseImageProvider : public QQuickImageProvider {
public:
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;
};

View file

@ -3,9 +3,7 @@
(defvar *file* nil)
(defun query (query &rest values)
(let ((rows (and (x:starts-with "select" query)
(1+ (count #\, (subseq query 0 (search "from" query)))))))
(qrun* (qt:sql-query qt:*cpp* query values rows))))
(qrun* (qt:sql-query qt:*cpp* query values)))
(defun ini ()
(setf *file* (app:in-data-path "db"))