add setter and a datatype list

This commit is contained in:
Peinthor Rene
2013-03-03 22:12:16 +01:00
parent 9394caffa9
commit 2920697894
2 changed files with 26 additions and 1 deletions

View File

@@ -2,6 +2,8 @@
namespace sqlb {
QStringList Field::Datatypes = QStringList() << "INTEGER" << "TEXT" << "BLOB" << "REAL" << "NUMERIC";
QString Field::toString(const QString& indent, const QString& sep) const
{
QString str = indent + m_name + sep + m_type;
@@ -43,12 +45,18 @@ bool Field::isInteger() const
|| norm == "int8";
}
Table::~Table()
void Table::clear()
{
foreach(Field* f, m_fields) {
delete f;
}
m_fields.clear();
m_primarykey.clear();
}
Table::~Table()
{
clear();
}
void Table::addField(Field *f)
@@ -56,6 +64,13 @@ void Table::addField(Field *f)
m_fields.append(f);
}
void Table::setFields(const FieldList &fields)
{
m_primarykey.clear();
clear();
m_fields = fields;
}
bool Table::setPrimaryKey(const FieldList& pk)
{
foreach(Field* f, pk) {

View File

@@ -16,6 +16,10 @@ public:
QString toString(const QString& indent = "\t", const QString& sep = "\t") const;
void setName(const QString& name) { m_name = name; }
void setType(const QString& type) { m_type = type; }
void setNotNull(bool notnull = true) { m_notnull = notnull; }
void setCheck(const QString& check) { m_check = check; }
void setAutoIncrement(bool autoinc) { m_autoincrement = autoinc; }
bool isText() const;
@@ -26,6 +30,8 @@ public:
bool notnull() const { return m_notnull; }
const QString& check() const { return m_check; }
bool autoIncrement() const { return m_autoincrement; }
static QStringList Datatypes;
private:
QString m_name;
QString m_type;
@@ -41,10 +47,14 @@ public:
Table(const QString& name): m_name(name) {}
virtual ~Table();
void setName(const QString& name) { m_name = name; }
const QString& name() const { return m_name; }
QString sql() const;
void addField(Field* f);
void setFields(const FieldList& fields);
void clear();
bool setPrimaryKey(const FieldList& pk);
bool setPrimaryKey(Field* pk, bool autoincrement = false);