Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2011, 14:16   #1
Lindemann66
Форумчанин
 
Регистрация: 28.02.2011
Сообщений: 127
По умолчанию Начинаю работу с SQLite

Всем привет!

Вопрос такой
Только начал разбираться со связкой Qt+SQLite
Хочу произвести запись в таблицу
Создал через Sql Expert Personal базу poll, в ней таблицу pages
Получился файл poll.

Далее, этот файл закинул в папку с проектом
Выполняю код из учебника Бланшета и Саммерфилда
Код:
#include <QtGui/QApplication>
#include <QtSql>
#include <QMessageBox>
#include "mainwindow.h"

bool createConnection() {

    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("poll");

    if (!db.open()) {
        qDebug() << "Cannot open database:" << db.lastError();
        return false;
    }
    return true;
}

void insert() {
    QSqlQuery query("INSERT INTO pages (address, title, keywords, hash)"
                    "VALUES ('http://mail.ru', 'MAIL.RU - почта №1', 'mail, почта', '4343rere3223')");
    if (!query.isActive()) {
        QMessageBox::warning(NULL, "Database Error",
                             query.lastError().text());
    }
}

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    if (!createConnection()) {
        return 1;
    }
    insert();

    return a.exec();
}
Получаю сообщение об ошибке: нет такой таблицы pages
Странная штука, база нашлась, а таблица нет?
Но, если я, ради прикола, попытаюсь подключаться к базе poll1, он её опять найдёт
Код:
db.setDatabaseName("poll");
Но в чём тогда суть физического размещения базы? При выполнении
Код:
db.setDatabaseName("poll");
он что, базу создаёт и в памяти её держит, а то, что она на диске - не важно?
Нуждаюсь в объяснении
Буду благодарен за любой совет
P.S. Кстати, кто какой программой для работы с SQLite базами пользуется?
Я вот 2 установил - Sql Expert Personal и SQLite Administrator, ими и пользуюсь
Lindemann66 вне форума Ответить с цитированием
Старый 10.08.2011, 15:15   #2
Lindemann66
Форумчанин
 
Регистрация: 28.02.2011
Сообщений: 127
По умолчанию

Всё, разобрался в чём дело
Ошибся с выбором папки, где БД лежала
Лежала в UpdateScan
Естественно, не работало
Положил в UpdateScan-build-desktop - всё ок
Lindemann66 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Начинаю изучать C# Max_MiZaNtRoP C# (си шарп) 22 25.03.2011 18:40
начинаю новый проект MasterDigit Фриланс 0 13.12.2010 15:20
Начинаю путь в С++ Rebel123 Общие вопросы C/C++ 4 25.01.2010 20:43