20#include "KWQtSqlSerialDataSourceBase.h"
21#include "KWQtSqlSerialDataSourceBase.moc"
22#include "KWQtSqlMailMergeOpen.h"
27#include <kpushbutton.h>
28#include <tqsqldatabase.h>
29#include <tqmessagebox.h>
31#include <tqsqlrecord.h>
32#include <tqsqlcursor.h>
33#include <tqdatatable.h>
36#include <kiconloader.h>
47int KWQtSqlSerialDataSourceBase::connectionId=0;
49KWQtSqlSerialDataSourceBase::KWQtSqlSerialDataSourceBase(TDEInstance *inst,TQObject *parent)
50 : KWMailMergeDataSource(inst,parent)
52 DataBaseConnection=TQString(
"KWTQTSQLPOWER")+parent->name()+TQString(
"--%1").arg(connectionId++);
56KWQtSqlSerialDataSourceBase::~KWQtSqlSerialDataSourceBase()
58 TQSqlDatabase::removeDatabase(DataBaseConnection);
62bool KWQtSqlSerialDataSourceBase::showConfigDialog(TQWidget *par,
int action)
67 KWQtSqlMailMergeOpen *dia=
new KWQtSqlMailMergeOpen(par,
this);
70 if (ret) openDatabase();
76bool KWQtSqlSerialDataSourceBase::openDatabase()
79 TQSqlDatabase::removeDatabase(DataBaseConnection);
80 database=TQSqlDatabase::addDatabase(driver,DataBaseConnection);
83 if (database->lastError().type()!=TQSqlError::None)
85 TQMessageBox::critical(0,i18n(
"Error"),database->lastError().databaseText(),TQMessageBox::Abort,TQMessageBox::NoButton,TQMessageBox::NoButton);
88 database->setDatabaseName(databasename);
89 database->setUserName(username);
90 database->setHostName(hostname);
91 if ((port!=i18n(
"default"))&& (!port.isEmpty()))
92 database->setPort(port.toInt());
94 if (KPasswordDialog::getPassword(pwd, i18n(
"Please enter the password for the database connection"))
95 == KPasswordDialog::Accepted) database->setPassword(pwd);
100 TQMessageBox::critical(0,i18n(
"Error"),database->lastError().databaseText(),TQMessageBox::Abort,TQMessageBox::NoButton,TQMessageBox::NoButton);
103 TQMessageBox::critical(0,i18n(
"Error"),i18n(
"Unable to create database object"),TQMessageBox::Abort,TQMessageBox::NoButton,TQMessageBox::NoButton);