crossplatform.ru

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

3 страниц V  < 1 2 3  
Ответить в данную темуНачать новую тему
> Paradox и Qt, Qt 4.3.2
AD
  опции профиля:
сообщение 23.11.2010, 11:25
Сообщение #21


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Цитата(panter_dsd @ 23.11.2010, 11:23) *
А путь какой указываешь? Уверен, что одбц позволяет создавать базу?

Надо почитать. На счет этого уточню. Пока не знаю, что ответить.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 23.11.2010, 11:27
Сообщение #22


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

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




Репутация:   3  


Не забывай, что БД парадокс - не файл, а каталог. Может, в этом проблема?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 23.11.2010, 12:01
Сообщение #23


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Создал нужный каталог. Теперь пишет следующее имя ошибки: "Невозможно найти сетевой путь или имя пользователя"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 23.11.2010, 12:29
Сообщение #24


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

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




Репутация:   3  


Читай маны по парадоксу. А лучше достань утилитку для создание БД (с делфей когда-то распространялась такая) и создай с ее помощью БД, к которой потом будешь пробовать коннектиться.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 23.11.2010, 13:27
Сообщение #25


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Все. Проблему решил. Создавать ничего необязательно. Главное, как ты сказал, создать путь. Еще необходимо имя пользователя задавать и пароль. Как доделаю функцию соединения, выложу. Спасибо!

Сообщение отредактировал AD - 23.11.2010, 14:38
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 23.11.2010, 14:00
Сообщение #26


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Вот функция соединения с БД:
/// Глобальные переменные
QSqlDatabase db;

/// Функция для создания соединения с базой данных
bool createConnection(const QString& odbc_path)
{
    if(db.isOpen()) db.close();

    db = QSqlDatabase::addDatabase("QODBC");
    QString name(QString("DRIVER={Microsoft Paradox Driver (*.db )};FIL={Paradox 5.X};DBQ=") + odbc_path);
    db.setDatabaseName(name);
    db.setUserName("aztUser");
    db.setPassword("aztUser");

    if(!db.open())
    {
        QSqlError error = db.lastError();
        QMessageBox msg(QMessageBox::Critical, "Connections", error.text(), QMessageBox::Ok, 0);
        msg.exec();
        return false;
    }
    return true;
}


Вызов этой функции:
/// valueElement, writeElement - чтение и запись при работе с реестром.
QString aztdb_path(valueElement("Azt/AztDbPath", QString("")).toString()), odbc_path("");
    if(aztdb_path.isEmpty())
    {
        odbc_path = QDir::toNativeSeparators(QFileDialog::getExistingDirectory(this,
                    QString("Selecting path for Paradox DB"), aztdb_path));
        if(odbc_path.isEmpty()) exit(1);
    }
    else if(!aztdb_path.isEmpty()) odbc_path = aztdb_path;
    else exit(1);
    writeElement("Azt/AztDbPath", odbc_path);
    bool is_conn = createConnection(odbc_path);    /// noдключенue k БД
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 23.11.2010, 14:02
Сообщение #27


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

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




Репутация:   3  


Пожалуйста. B)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 23.11.2010, 15:41
Сообщение #28


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(AD @ 23.11.2010, 14:00) *
/// Глобальные переменные
QSqlDatabase db;

Не нужно объявлять переменную QSqlDatabase, тем более глобально.
Ты всегда сможешь получить этот объект используя QSqlDatabase::database(...)
Обсуждали же уже не обднократно. ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 30.12.2024, 20:03