#include <sqldump.h>
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 |
Definition at line 12 of file sqldump.h.
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;
}
void SQLDump::closeWindow | ( | ) | [signal] |
void SQLDump::setDb | ( | QString | newDbName ) | [slot] |
Definition at line 23 of file sqldump.cpp.
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); } } }
QSqlDatabase SQLDump::db |
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().