crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

LNF
  опции профиля:
сообщение 7.9.2008, 15:52
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 10
Регистрация: 2.9.2008
Пользователь №: 282

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вот такой код:
QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(":memory");
if(!db.open())
{
    QMessageBox::critical(
        this,
        tr("DataBase Error"),
        db.lastError().text()
    );
    return;
}


Получаю ошибку:
unable to open database file Error opening database

В SQLBrowser посмотрел доступные драйверы: QSQLITE и QODBC

Не могли бы подсказать в чем ошибка?

Сообщение отредактировал Admin - 7.9.2008, 16:55
Причина редактирования: Учимся использовать тэг [CODE]
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
LNF
  опции профиля:
сообщение 7.9.2008, 16:31
Сообщение #2


Студент
*

Группа: Новичок
Сообщений: 10
Регистрация: 2.9.2008
Пользователь №: 282

Спасибо сказали: 0 раз(а)




Репутация:   0  


QApplication инициализируется раньше.

В части одной функции у меня вызывается функция assembleAuthorSQL():
if(root.tagName()=="author")
{
    QDomNode first=root.firstChild();
    QDomNode last=root.lastChild();
    QString login=first.toElement().text();
    QString pwd=last.toElement().text();

    assembleAuthorSQL(login,pwd);

    QStringList menu;
    menu.append("menu");// root tag
    menu.append("Storage");
    menu.append("Settings");
    sendReply(assembleXml(menu));
}

// assembleAuthorSQL()
void Observer::assembleAuthorSQL(QString login,QString pwd)
{
    QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName(":memory");
    if(!db.open())
    {
        QMessageBox::critical(
             this,
             tr("DataBase Error"),
             db.lastError().text()
         );
         return;
     }
     else
    {
        QSqlQuery query("create table account(docid integer primary key,login varchar(30),password varchar(30))");
        query.exec();
        if (!query.isActive() )
           QMessageBox::warning(
                this, 
                tr("Database Error"),
                tr("Bolt")
            );
     }
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 4.6.2025, 0:48