Use transactions for SQL updates
This commit is contained in:
parent
9dac732efe
commit
fe5e9208a3
|
@ -1,3 +1,7 @@
|
||||||
|
v0.6 (11/10/2015)
|
||||||
|
** Dev **
|
||||||
|
Use transactions for SQL updates
|
||||||
|
|
||||||
v0.5 (19/06/2015)
|
v0.5 (19/06/2015)
|
||||||
** User **
|
** User **
|
||||||
Add tag management
|
Add tag management
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2010-2012 Grégory Soutadé
|
Copyright 2010-2015 Grégory Soutadé
|
||||||
|
|
||||||
This file is part of KissCount.
|
This file is part of KissCount.
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
#include <view/wxUI.hpp>
|
#include <view/wxUI.hpp>
|
||||||
|
|
||||||
#define APP_VERSION "0.5"
|
#define APP_VERSION "0.6"
|
||||||
|
|
||||||
#define ESCAPE_CHARS(s) s = s.replace("\"", " ");
|
#define ESCAPE_CHARS(s) s = s.replace("\"", " ");
|
||||||
// #define ESCAPE_CHARS(s) s = s.replace("\"", "\\\""); s = s.replace("\'", "\\\'");
|
// #define ESCAPE_CHARS(s) s = s.replace("\"", "\\\""); s = s.replace("\'", "\\\'");
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2010-2012 Grégory Soutadé
|
Copyright 2010-2015 Grégory Soutadé
|
||||||
|
|
||||||
This file is part of KissCount.
|
This file is part of KissCount.
|
||||||
|
|
||||||
|
|
|
@ -49,6 +49,7 @@
|
||||||
|
|
||||||
#define EXECUTE_SQL_UPDATE_WITH_CODE(req, return_value, code_if_fail, code_if_syntax_fail) \
|
#define EXECUTE_SQL_UPDATE_WITH_CODE(req, return_value, code_if_fail, code_if_syntax_fail) \
|
||||||
do { \
|
do { \
|
||||||
|
_db.transaction(); \
|
||||||
QSqlQuery query; \
|
QSqlQuery query; \
|
||||||
if (!query.exec(req)) \
|
if (!query.exec(req)) \
|
||||||
{ \
|
{ \
|
||||||
|
@ -56,12 +57,15 @@
|
||||||
std::cerr << __FUNCTION__ << " " << __FILE__ << " " << __LINE__ << "\n" ; \
|
std::cerr << __FUNCTION__ << " " << __FILE__ << " " << __LINE__ << "\n" ; \
|
||||||
std::cerr << req.toStdString() << "\n" ; \
|
std::cerr << req.toStdString() << "\n" ; \
|
||||||
std::cerr << query.lastError().text().toStdString() << "\n" ; \
|
std::cerr << query.lastError().text().toStdString() << "\n" ; \
|
||||||
|
_db.rollback(); \
|
||||||
code_if_fail; \
|
code_if_fail; \
|
||||||
return return_value; \
|
return return_value; \
|
||||||
} \
|
} \
|
||||||
|
_db.commit(); \
|
||||||
} while(0);
|
} while(0);
|
||||||
|
|
||||||
#define EXECUTE_SQL_QUERY_WITH_CODE(req, return_value, code_if_fail, code_if_syntax_fail) \
|
#define EXECUTE_SQL_QUERY_WITH_CODE(req, return_value, code_if_fail, code_if_syntax_fail) \
|
||||||
|
do { \
|
||||||
if (!query.exec(req)) \
|
if (!query.exec(req)) \
|
||||||
{ \
|
{ \
|
||||||
QMessageBox::critical(0, _("Error"), _("Query failed !\n") + req); \
|
QMessageBox::critical(0, _("Error"), _("Query failed !\n") + req); \
|
||||||
|
@ -71,6 +75,7 @@
|
||||||
code_if_fail; \
|
code_if_fail; \
|
||||||
return return_value; \
|
return return_value; \
|
||||||
} \
|
} \
|
||||||
|
} while(0);
|
||||||
|
|
||||||
#define EXECUTE_SQL_QUERY(req, return_value) EXECUTE_SQL_QUERY_WITH_CODE(req, return_value, {}, {})
|
#define EXECUTE_SQL_QUERY(req, return_value) EXECUTE_SQL_QUERY_WITH_CODE(req, return_value, {}, {})
|
||||||
|
|
||||||
|
|
|
@ -310,7 +310,6 @@ void wxUI::ChangeUser()
|
||||||
}
|
}
|
||||||
catch (UsersDialog::ExceptionNewUser e)
|
catch (UsersDialog::ExceptionNewUser e)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user