mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-01-20 02:50:46 -06:00
Further improve 408fbcf8b4
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#include "sqlitedb.h"
|
||||
#include "sqlite.h"
|
||||
#include "sqlitetablemodel.h"
|
||||
#include "CipherDialog.h"
|
||||
|
||||
@@ -577,7 +578,7 @@ bool DBBrowserDB::executeMultiSQL(const QString& statement, bool dirty, bool log
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DBBrowserDB::getRow(const QString& sTableName, sqlite3_int64 rowid, QList<QByteArray>& rowdata)
|
||||
bool DBBrowserDB::getRow(const QString& sTableName, int64_t rowid, QList<QByteArray>& rowdata)
|
||||
{
|
||||
QString sQuery = QString("SELECT * FROM `%1` WHERE `%2`=%3;").arg(sTableName).arg(getObjectByName(sTableName).table.rowidColumn()).arg(rowid);
|
||||
QByteArray utf8Query = sQuery.toUtf8();
|
||||
@@ -624,7 +625,7 @@ int64_t DBBrowserDB::max(const sqlb::Table& t, sqlb::FieldPtr field) const
|
||||
return ret;
|
||||
}
|
||||
|
||||
QString DBBrowserDB::emptyInsertStmt(const sqlb::Table& t, sqlite3_int64 pk_value) const
|
||||
QString DBBrowserDB::emptyInsertStmt(const sqlb::Table& t, int64_t pk_value) const
|
||||
{
|
||||
QString stmt = QString("INSERT INTO `%1`").arg(t.name());
|
||||
|
||||
@@ -688,7 +689,7 @@ QString DBBrowserDB::emptyInsertStmt(const sqlb::Table& t, sqlite3_int64 pk_valu
|
||||
return stmt;
|
||||
}
|
||||
|
||||
long DBBrowserDB::addRecord(const QString& sTableName)
|
||||
int64_t DBBrowserDB::addRecord(const QString& sTableName)
|
||||
{
|
||||
char *errmsg;
|
||||
if (!isOpen()) return false;
|
||||
@@ -698,7 +699,7 @@ long DBBrowserDB::addRecord(const QString& sTableName)
|
||||
// For tables without rowid we have to set the primary key by ourselves. We do so by querying for the largest value in the PK column
|
||||
// and adding one to it.
|
||||
QString sInsertstmt;
|
||||
long pk_value;
|
||||
int64_t pk_value;
|
||||
if(table.isWithoutRowidTable())
|
||||
{
|
||||
SqliteTableModel m(this, this);
|
||||
@@ -726,7 +727,7 @@ long DBBrowserDB::addRecord(const QString& sTableName)
|
||||
}
|
||||
}
|
||||
|
||||
bool DBBrowserDB::deleteRecord(const QString& table, sqlite3_int64 rowid)
|
||||
bool DBBrowserDB::deleteRecord(const QString& table, int64_t rowid)
|
||||
{
|
||||
char * errmsg;
|
||||
if (!isOpen()) return false;
|
||||
@@ -749,7 +750,7 @@ bool DBBrowserDB::deleteRecord(const QString& table, sqlite3_int64 rowid)
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool DBBrowserDB::updateRecord(const QString& table, const QString& column, sqlite3_int64 row, const QByteArray& value)
|
||||
bool DBBrowserDB::updateRecord(const QString& table, const QString& column, int64_t row, const QByteArray& value)
|
||||
{
|
||||
if (!isOpen()) return false;
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
#define SQLITEDB_H
|
||||
|
||||
#include "sqlitetypes.h"
|
||||
#include "sqlite.h"
|
||||
|
||||
#include <QStringList>
|
||||
#include <QMultiMap>
|
||||
#include <QByteArray>
|
||||
|
||||
class sqlite3;
|
||||
class CipherDialog;
|
||||
|
||||
enum
|
||||
@@ -66,7 +66,7 @@ public:
|
||||
* @param rowdata A list of QByteArray containing the row data.
|
||||
* @return true if statement execution was ok, else false.
|
||||
*/
|
||||
bool getRow(const QString& sTableName, sqlite3_int64 rowid, QList<QByteArray>& rowdata);
|
||||
bool getRow(const QString& sTableName, int64_t rowid, QList<QByteArray>& rowdata);
|
||||
|
||||
/**
|
||||
* @brief max Queries the table t for the max value of field.
|
||||
@@ -77,16 +77,16 @@ public:
|
||||
int64_t max(const sqlb::Table& t, sqlb::FieldPtr field) const;
|
||||
|
||||
void updateSchema();
|
||||
long addRecord(const QString& sTableName);
|
||||
int64_t addRecord(const QString& sTableName);
|
||||
|
||||
/**
|
||||
* @brief Creates an empty insert statement.
|
||||
* @param pk_value This optional parameter can be used to manually set a specific value for the primary key column
|
||||
* @return An sqlite conform INSERT INTO statement with empty values. (NULL,'',0)
|
||||
*/
|
||||
QString emptyInsertStmt(const sqlb::Table& t, sqlite3_int64 pk_value = -1) const;
|
||||
bool deleteRecord(const QString& table, sqlite3_int64 rowid);
|
||||
bool updateRecord(const QString& table, const QString& column, sqlite3_int64 row, const QByteArray& value);
|
||||
QString emptyInsertStmt(const sqlb::Table& t, int64_t pk_value = -1) const;
|
||||
bool deleteRecord(const QString& table, int64_t rowid);
|
||||
bool updateRecord(const QString& table, const QString& column, int64_t row, const QByteArray& value);
|
||||
|
||||
bool createTable(const QString& name, const sqlb::FieldVector& structure);
|
||||
bool renameTable(const QString& from_table, const QString& to_table);
|
||||
|
||||
@@ -320,7 +320,7 @@ bool SqliteTableModel::insertRows(int row, int count, const QModelIndex& parent)
|
||||
|
||||
for(int i=row; i < row + count; ++i)
|
||||
{
|
||||
int rowid = m_db->addRecord(m_sTable);
|
||||
qint64 rowid = m_db->addRecord(m_sTable);
|
||||
if(rowid < 0)
|
||||
{
|
||||
endInsertRows();
|
||||
|
||||
Reference in New Issue
Block a user