Example #1
0
Model * Query::getOne()
{    
    sqlString = generateSQL();

    list_t vector = requestOne(sqlString);
    try
    {
        if(vector.empty())
        {
            throw vector;
        }
        if((innerJoin == "") && (outerJoin == ""))
        {
            queryModel->setSchema(schema);
            queryModel = appendRecords(vector, queryModel);
        }
        else
        {
            Model * temp = schema->getRelation(rName).model;
            relation_data_t data = getRelationModel(vector, temp);
            schema->setRelationData(data);
            queryModel->setSchema(schema);
            queryModel = appendRecords(vector, queryModel);
        }
    }
    catch(list_t)
    {
        qDebug() << "[Query::getOne]:\tRequest list is empty!";
    }
    return queryModel;
}
Example #2
0
QVariant Query::getlastID()
{
    selectedFields = "last_insert_rowid()";
    QString sql = generateSQL();
    list_t list = requestOne(sql);
    if(!list.empty())
    {
        return list[0].second;
    }
    else
    {
        return 0;
    }
}
Example #3
0
int Query::count(QString fieldName)
{
    countString = "COUNT(" + fieldName + ")";
    QString sql = generateSQL();

    list_t list = requestOne(sql);
    if(!list.empty())
    {
        return list[0].second.toInt();
    }
    else
    {
        return 0;
    }
}
Example #4
0
QList<Model *> Query::getAll()
{
    sqlString = generateSQL();
    matrix_t matrix = requestMany(sqlString);

    QList <Model *> list;
    int i=0;
    while(i != matrix.size())
    {
        Model * model = new Model();
        model->setSchema(schema);
        model = appendRecords(matrix[i], model);
        list.append(model);
        i++;
    }
    return list;
}
Example #5
0
void toProject::generateSQL(void)
{
    toTreeWidgetItem *item = Project->selectedItem();
    if (item)
    {
        toProjectTemplateItem *oi = ItemMap[item];
        if (oi)
        {
            if (!oi->project())
                oi = dynamic_cast<toProjectTemplateItem *>(oi->parent());
            if (oi)
            {
                QString data = generateSQL(oi);
                new toMemoEditor(toMainWidget(), data);
            }
        }
    }
}
Example #6
0
QString toProject::generateSQL(toProjectTemplateItem *parent)
{
    QString data;
    for (toProjectTemplateItem *item = dynamic_cast<toProjectTemplateItem *>(parent->firstChild());
            item;
            item = dynamic_cast<toProjectTemplateItem *>(item->nextSibling()))
    {
        if (item->project())
        {
            data += tr("\n\n-- Start of project %1\n\n").arg(item->filename());
            data += generateSQL(item);
        }
        else
        {
            data += tr("\n\n-- Start of file %1\n\n").arg(item->filename());
            data += toReadFile(item->filename());
        }
    }
    return data;
}
Example #7
0
toProject::toProject(toProjectTemplateItem *top, QWidget *parent)
    : QWidget(parent)
{
    Root = top;

    QVBoxLayout *vbox = new QVBoxLayout;
    vbox->setSpacing(0);
    vbox->setContentsMargins(0, 0, 0, 0);

    QToolBar *toolbar = toAllocBar(this, tr("SQL project"));
    vbox->addWidget(toolbar);

    toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(addproject_xpm))),
                       tr("Add file to project"),
                       this,
                       SLOT(addFile()));

    toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(filesave_xpm))),
                       tr("Save project"),
                       this,
                       SLOT(saveProject()));

    DelFile = toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(trash_xpm))),
                                 tr("Remove file from project"),
                                 this,
                                 SLOT(delFile()));

    toolbar->addSeparator();

    toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(new_xpm))),
                       tr("Add new subproject"),
                       this,
                       SLOT(newProject()));

    toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(sql_xpm))),
                       tr("Generate SQL for this project"),
                       this,
                       SLOT(generateSQL()));

    toolbar->addSeparator();

    toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(up_xpm))),
                       tr("Move up in project"),
                       this,
                       SLOT(moveUp()));

    toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(down_xpm))),
                       tr("Move down in project"),
                       this,
                       SLOT(moveDown()));

    toolbar->addWidget(new toSpacer());

    Project = new toListView(this);
    Project->addColumn(tr("File"));
    Project->addColumn(tr("Size"));
    Project->setSelectionMode(toTreeWidget::Single);
    Project->setRootIsDecorated(true);
    Project->setSorting(0);
    connect(Project,
            SIGNAL(selectionChanged()),
            this,
            SLOT(selectionChanged()));
    vbox->addWidget(Project);

    setLayout(vbox);
    update();
}