Hi,
I'm still new with QT and I have a simple application that add, search and remove records using SQLITE. But everytime I run the application my database is empty. Please check the partial code I'm using.
#include "phonebook.h"
#include "ui_phonebook.h"
#include <QMessageBox>
//./phonebook.db
PhoneBook
::PhoneBook(QWidget *parent
) : ui(new Ui::PhoneBook)
{
ui->setupUi(this);
//set database driver to QSQLITE
database->setDatabaseName(":memory:");
//database->setDatabaseName("./phonebook.db");
//can be removed
database->setHostName("localhost");
database->setUserName("");
database->setPassword("");
if(!database->open())
{
QMessageBox::warning(0,
"Error",
"Couldn't open database file.");
}
query.exec("CREATE TABLE IF NOT EXISTS Contacts (id int primary key, "
"name varchar(20), mobile varchar(20),city varchar(20))");
updateTable();
search_model->setTable("Contacts");
}
#include "phonebook.h"
#include "ui_phonebook.h"
#include <QMessageBox>
//./phonebook.db
PhoneBook::PhoneBook(QWidget *parent) :
QWidget(parent),
ui(new Ui::PhoneBook)
{
ui->setupUi(this);
database = new QSqlDatabase();
//set database driver to QSQLITE
*database = QSqlDatabase::addDatabase("QSQLITE");
database->setDatabaseName(":memory:");
//database->setDatabaseName("./phonebook.db");
//can be removed
database->setHostName("localhost");
database->setUserName("");
database->setPassword("");
if(!database->open())
{
QMessageBox::warning(0,"Error","Couldn't open database file.");
}
QSqlQuery query;
query.exec("CREATE TABLE IF NOT EXISTS Contacts (id int primary key, "
"name varchar(20), mobile varchar(20),city varchar(20))");
all_model = new QSqlTableModel(this, *database);
updateTable();
search_model = new QSqlTableModel(this, *database);
search_model->setTable("Contacts");
}
To copy to clipboard, switch view to plain text mode
regards,
lam-ang
Bookmarks