Public Slots | Signals | Public Member Functions | Public Attributes

SQLDump Class Reference

#include <sqldump.h>

List of all members.

Public Slots

void startBackup ()
void setDb (QString newDbName)

Signals

void closeWindow ()

Public Member Functions

 SQLDump (QWidget *parent=0)
 ~SQLDump ()

Public Attributes

QSqlDatabase db
QString dbName
QStringList dbList

Detailed Description

Definition at line 12 of file sqldump.h.


Constructor & Destructor Documentation

SQLDump::SQLDump ( QWidget *  parent = 0 ) [explicit]

Definition at line 5 of file sqldump.cpp.

                                :
        QWidget(parent),
        ui(new Ui::SQLDump)
{
    ui->setupUi(this);
    comboChanged = false;
    ico_folder = QIcon(QApplication::style()->standardIcon(QApplication::style()->SP_DirIcon));
    ico_db = QIcon("://icons/Icon_45.ico");
    ico_table = QIcon("://icons/Icon_44.ico");
    ico_view = QIcon("://icons/Icon_96.ico");
    ico_proc = QIcon("://icons/Icon_100.ico");
}
SQLDump::~SQLDump (  )

Definition at line 18 of file sqldump.cpp.

{
    delete ui;
}

Member Function Documentation

void SQLDump::closeWindow (  ) [signal]
void SQLDump::setDb ( QString  newDbName ) [slot]

Definition at line 23 of file sqldump.cpp.

References db, and dbName.

Referenced by startBackup().

                                     {
    dbName = newDbName;
    this->setWindowTitle(tr("SQL Dump (Dumping objects in %1)").arg(dbName));
    ui->trvObjects->clear();
    QTreeWidgetItem *folder;
    QTreeWidgetItem *child;
    QSqlQuery query = QSqlQuery(db);
    //show table list
    folder = new QTreeWidgetItem(ui->trvObjects);
    folder->setText(0, "Tables");
    folder->setText(1, "folTables");
    folder->setIcon(0, ico_folder);
    folder->setCheckState(0, Qt::Checked);
    query.exec(tr("show full tables in `%1` WHERE TABLE_TYPE = 'BASE TABLE'").arg(dbName));
    while (query.next()) {
        child = new QTreeWidgetItem(folder);
        child->setText(0, query.value(0).toString());
        child->setText(1, "chilTable");
        child->setIcon(0, ico_table);
        child->setCheckState(0, Qt::Checked);
    }
    //show view list
    folder = new QTreeWidgetItem(ui->trvObjects);
    folder->setText(0, "Views");
    folder->setText(1, "folViews");
    folder->setIcon(0, ico_folder);
    folder->setCheckState(0, Qt::Checked);
    query.exec(tr("show full tables in `%1` WHERE TABLE_TYPE = 'VIEW'").arg(dbName));
    while (query.next()) {
        child = new QTreeWidgetItem(folder);
        child->setText(0, query.value(0).toString());
        child->setText(1, "chilView");
        child->setIcon(0, ico_view);
        child->setCheckState(0, Qt::Checked);
    }
    //show stored procedure list
    folder = new QTreeWidgetItem(ui->trvObjects);
    folder->setText(0, "Stored Procedures");
    folder->setText(1, "folProcedures");
    folder->setIcon(0, ico_folder);
    folder->setCheckState(0, Qt::Checked);
    query.exec(tr("SELECT `SPECIFIC_NAME` FROM `INFORMATION_SCHEMA`.`ROUTINES` WHERE `ROUTINE_SCHEMA` = '%1' AND `ROUTINE_TYPE` = 'PROCEDURE'").arg(dbName));
    while (query.next()) {
        child = new QTreeWidgetItem(folder);
        child->setText(0, query.value(0).toString());
        child->setText(1, "chilProc");
        child->setIcon(0, ico_proc);
        child->setCheckState(0, Qt::Checked);
    }
    //show function list
    folder = new QTreeWidgetItem(ui->trvObjects);
    folder->setText(0, "Functions");
    folder->setText(1, "folFunctions");
    folder->setIcon(0, ico_folder);
    folder->setCheckState(0, Qt::Checked);
    query.exec(tr("SELECT `SPECIFIC_NAME` FROM `INFORMATION_SCHEMA`.`ROUTINES` WHERE `ROUTINE_SCHEMA` = '%1' AND `ROUTINE_TYPE` = 'FUNCTION'").arg(dbName));
    while (query.next()) {
        child = new QTreeWidgetItem(folder);
        child->setText(0, query.value(0).toString());
        child->setText(1, "chilFunction");
        child->setIcon(0, ico_proc);
        child->setCheckState(0, Qt::Checked);
    }
    //show trigger list
    folder = new QTreeWidgetItem(ui->trvObjects);
    folder->setText(0, "Triggers");
    folder->setText(1, "folTriggers");
    folder->setIcon(0, ico_folder);
    folder->setCheckState(0, Qt::Checked);
    query.exec(tr("SELECT `TRIGGER_NAME` FROM `INFORMATION_SCHEMA`.`TRIGGERS` WHERE `ROUTINE_SCHEMA` = '%1'").arg(dbName));
    while (query.next()) {
        child = new QTreeWidgetItem(folder);
        child->setText(0, query.value(0).toString());
        child->setText(1, "chilTrigger");
        child->setIcon(0, ico_view);
        child->setCheckState(0, Qt::Checked);
    }
}
void SQLDump::startBackup (  ) [slot]

Definition at line 102 of file sqldump.cpp.

References dbList, dbName, and setDb().

                          {
    ui->cboDbList->clear();
    QString originalDbName = dbName;
    for (int i = 0; i < dbList.length(); i++) {
        ui->cboDbList->insertItem(i, ico_db ,dbList.at(i));
    }
    for (int i = 0; i < dbList.length(); i++) {
        if (dbList.at(i) == originalDbName) {
            ui->cboDbList->setCurrentIndex(i);
            setDb(originalDbName);
        }
    }
}

Member Data Documentation

QSqlDatabase SQLDump::db

Definition at line 19 of file sqldump.h.

Referenced by setDb().

QStringList SQLDump::dbList

Definition at line 21 of file sqldump.h.

Referenced by startBackup().

QString SQLDump::dbName

Definition at line 20 of file sqldump.h.

Referenced by setDb(), and startBackup().


The documentation for this class was generated from the following files: