table
This commit is contained in:
parent
f2a0ebab2d
commit
56588b9eb1
|
|
@ -70,6 +70,13 @@ bool DatabasePrivate::open(bool update)
|
||||||
db.setDatabaseName(databaseName);
|
db.setDatabaseName(databaseName);
|
||||||
db.setUserName(userName);
|
db.setUserName(userName);
|
||||||
db.setPassword(password);
|
db.setPassword(password);
|
||||||
|
|
||||||
|
if (driver.toLower().startsWith("qsqlite")
|
||||||
|
&& !QFile::exists(databaseName)) {
|
||||||
|
//Force to execute update database
|
||||||
|
isDatabaseNew = true;
|
||||||
|
update = true;
|
||||||
|
}
|
||||||
bool ok = db.open();
|
bool ok = db.open();
|
||||||
|
|
||||||
if (!ok) {
|
if (!ok) {
|
||||||
|
|
@ -336,7 +343,6 @@ Database::Database(QObject *parent)
|
||||||
: QObject(parent), d_ptr(new DatabasePrivate(this))
|
: QObject(parent), d_ptr(new DatabasePrivate(this))
|
||||||
{
|
{
|
||||||
DatabasePrivate::lastId++;
|
DatabasePrivate::lastId++;
|
||||||
qRegisterMetaType<ChangeLogTable*>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Database::Database(const Database &other)
|
Database::Database(const Database &other)
|
||||||
|
|
@ -350,7 +356,6 @@ Database::Database(const Database &other)
|
||||||
setDatabaseName(other.databaseName());
|
setDatabaseName(other.databaseName());
|
||||||
setUserName(other.userName());
|
setUserName(other.userName());
|
||||||
setPassword(other.password());
|
setPassword(other.password());
|
||||||
qRegisterMetaType<ChangeLogTable*>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Database::Database(const QSqlDatabase &other)
|
Database::Database(const QSqlDatabase &other)
|
||||||
|
|
|
||||||
|
|
@ -42,13 +42,13 @@
|
||||||
#define NUT_DECLARE_TABLE(type, name) \
|
#define NUT_DECLARE_TABLE(type, name) \
|
||||||
NUT_INFO(__nut_TABLE, type, name) \
|
NUT_INFO(__nut_TABLE, type, name) \
|
||||||
Q_PROPERTY(type* name READ name) \
|
Q_PROPERTY(type* name READ name) \
|
||||||
Q_PROPERTY(NUT_WRAP_NAMESPACE(TableSet<type>) name##s READ name##s) \
|
Q_PROPERTY(NUT_WRAP_NAMESPACE(TableSet<type>) name##Table READ name##Table) \
|
||||||
type* m_##name; \
|
type* m_##name; \
|
||||||
NUT_WRAP_NAMESPACE(TableSet<type>) *m_##name##s; \
|
NUT_WRAP_NAMESPACE(TableSet<type>) *m_##name##Table; \
|
||||||
public: \
|
public: \
|
||||||
static const type _##name; \
|
static const type _##name; \
|
||||||
type* name() const{ return m_##name; } \
|
type* name() const{ return m_##name; } \
|
||||||
NUT_WRAP_NAMESPACE(TableSet<type>) *name##s() const { return m_##name##s; }
|
NUT_WRAP_NAMESPACE(TableSet<type>) *name##Table() const { return m_##name##Table; }
|
||||||
|
|
||||||
//Table
|
//Table
|
||||||
#define NUT_DECLARE_FIELD(type, name, read, write) \
|
#define NUT_DECLARE_FIELD(type, name, read, write) \
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ NUT_BEGIN_NAMESPACE
|
||||||
* This should be fixed to v1.2
|
* This should be fixed to v1.2
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Table::Table(QObject *parent) : QObject(parent)
|
Table::Table(QObject *parent) : QObject(parent), myModel(0)
|
||||||
{
|
{
|
||||||
setStatus(NewCreated);
|
setStatus(NewCreated);
|
||||||
}
|
}
|
||||||
|
|
@ -71,6 +71,9 @@ void Table::propertyChanged(QString propName)
|
||||||
if (!myModel)
|
if (!myModel)
|
||||||
myModel = TableModel::findByClassName(metaObject()->className());
|
myModel = TableModel::findByClassName(metaObject()->className());
|
||||||
|
|
||||||
|
if (!myModel)
|
||||||
|
qFatal ("model for this class not found");
|
||||||
|
|
||||||
if (propName == primaryKey())
|
if (propName == primaryKey())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue