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; }
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; } }
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; } }
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; }
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); } } } }
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; }
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(); }