landonmkelsey
3rd September 2008, 20:47
this code works!
edit works! table grid changes show up in database
However, I get error on closing the window!:
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
database queries from a client work! What is ceasing to work?
#include <QtGui>
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
#include <QSqlQueryModel>
#include <QSqlTableModel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("landonx");
db.setUserName("landon4");
db.setPassword("Kateaux3141");
db.setConnectOptions(QString("CLIENT_INTERACTIVE"));
bool ok = db.open();
QSqlTableModel *model = new QSqlTableModel();
model->setTable( "log_book" );
model->setEditStrategy(QSqlTableModel::OnFieldChange);
model->select();
model->setHeaderData( 0, Qt::Horizontal, QObject::tr("rowid") );
model->setHeaderData( 1, Qt::Horizontal, QObject::tr("fdate") );
model->setHeaderData( 2, Qt::Horizontal, QObject::tr("acid") );
model->setHeaderData( 3, Qt::Horizontal, QObject::tr("actype") );
model->setHeaderData( 4, Qt::Horizontal, QObject::tr("nlandings") );
model->setHeaderData( 5, Qt::Horizontal, QObject::tr("nhours") );
QTableView *view = new QTableView();
view->setModel( model );
view->show();
// db.close(); keeps edit from working OF COURSE
return app.exec();
}
This is all I can think of at present!
Still have error message:
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
#include <QtGui>
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
#include <QSqlQueryModel>
#include <QSqlTableModel>
#include <QtDebug>
void QWidget::closeEvent(QCloseEvent * e)
{
qDebug()<<"closing";
QSqlDatabase defaultDB = QSqlDatabase::database();
defaultDB.close();
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("landonx");
db.setUserName("landon4");
db.setPassword("Kateaux3141");
db.setConnectOptions(QString("CLIENT_INTERACTIVE"));
bool ok = db.open();
// QSqlDatabase defaultDB = QSqlDatabase::database();
QSqlTableModel *model = new QSqlTableModel();
model->setTable( "log_book" );
model->setEditStrategy(QSqlTableModel::OnFieldChange);
model->select();
model->setHeaderData( 0, Qt::Horizontal, QObject::tr("rowid") );
model->setHeaderData( 1, Qt::Horizontal, QObject::tr("fdate") );
model->setHeaderData( 2, Qt::Horizontal, QObject::tr("acid") );
model->setHeaderData( 3, Qt::Horizontal, QObject::tr("actype") );
model->setHeaderData( 4, Qt::Horizontal, QObject::tr("nlandings") );
model->setHeaderData( 5, Qt::Horizontal, QObject::tr("nhours") );
QTableView *view = new QTableView();
view->setModel( model );
view->setAlternatingRowColors ( true );
view->setFixedSize ( 800,500 );
view->show();
// db.close();
return app.exec();
}
edit works! table grid changes show up in database
However, I get error on closing the window!:
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
database queries from a client work! What is ceasing to work?
#include <QtGui>
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
#include <QSqlQueryModel>
#include <QSqlTableModel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("landonx");
db.setUserName("landon4");
db.setPassword("Kateaux3141");
db.setConnectOptions(QString("CLIENT_INTERACTIVE"));
bool ok = db.open();
QSqlTableModel *model = new QSqlTableModel();
model->setTable( "log_book" );
model->setEditStrategy(QSqlTableModel::OnFieldChange);
model->select();
model->setHeaderData( 0, Qt::Horizontal, QObject::tr("rowid") );
model->setHeaderData( 1, Qt::Horizontal, QObject::tr("fdate") );
model->setHeaderData( 2, Qt::Horizontal, QObject::tr("acid") );
model->setHeaderData( 3, Qt::Horizontal, QObject::tr("actype") );
model->setHeaderData( 4, Qt::Horizontal, QObject::tr("nlandings") );
model->setHeaderData( 5, Qt::Horizontal, QObject::tr("nhours") );
QTableView *view = new QTableView();
view->setModel( model );
view->show();
// db.close(); keeps edit from working OF COURSE
return app.exec();
}
This is all I can think of at present!
Still have error message:
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
#include <QtGui>
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
#include <QSqlQueryModel>
#include <QSqlTableModel>
#include <QtDebug>
void QWidget::closeEvent(QCloseEvent * e)
{
qDebug()<<"closing";
QSqlDatabase defaultDB = QSqlDatabase::database();
defaultDB.close();
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("landonx");
db.setUserName("landon4");
db.setPassword("Kateaux3141");
db.setConnectOptions(QString("CLIENT_INTERACTIVE"));
bool ok = db.open();
// QSqlDatabase defaultDB = QSqlDatabase::database();
QSqlTableModel *model = new QSqlTableModel();
model->setTable( "log_book" );
model->setEditStrategy(QSqlTableModel::OnFieldChange);
model->select();
model->setHeaderData( 0, Qt::Horizontal, QObject::tr("rowid") );
model->setHeaderData( 1, Qt::Horizontal, QObject::tr("fdate") );
model->setHeaderData( 2, Qt::Horizontal, QObject::tr("acid") );
model->setHeaderData( 3, Qt::Horizontal, QObject::tr("actype") );
model->setHeaderData( 4, Qt::Horizontal, QObject::tr("nlandings") );
model->setHeaderData( 5, Qt::Horizontal, QObject::tr("nhours") );
QTableView *view = new QTableView();
view->setModel( model );
view->setAlternatingRowColors ( true );
view->setFixedSize ( 800,500 );
view->show();
// db.close();
return app.exec();
}