crossplatform.ru

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

> Paradox и Qt, Qt 4.3.2
AD
  опции профиля:
сообщение 17.11.2010, 17:02
Сообщение #1


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

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

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




Репутация:   17  


Общий вопрос - Qt поддерживает базы данных Paradox? Для этого надо использовать плагины и как к ним подключаться? Если есть статья какая-нибудь на эту тему, буду благодарен.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
panter_dsd
  опции профиля:
сообщение 23.11.2010, 12:29
Сообщение #2


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

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

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




Репутация:   3  


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


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

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

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




Репутация:   17  


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

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


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

Группа: Участник
Сообщений: 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 БД
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- AD   Paradox и Qt   17.11.2010, 17:02
- - panter_dsd   Только через ODBC.   17.11.2010, 17:06
|- - AD   Цитата(panter_dsd @ 17.11.2010, 17:06) То...   17.11.2010, 17:25
- - panter_dsd   Все то же самое, главное правильно указать строку ...   17.11.2010, 17:28
|- - AD   Не так вопрос задал. Как мне qsqlodbc.lib подключи...   17.11.2010, 17:40
- - panter_dsd   Конечно нужен плугин QODBC, или его вкомпилировани...   17.11.2010, 17:41
|- - AD   Вопрос, как в готовый статический Qt вкомпилироват...   17.11.2010, 18:12
- - panter_dsd   Блин, плагин odbc компиляется как и любой другой п...   17.11.2010, 19:55
- - Litkevich Yuriy   Цитата(AD @ 17.11.2010, 19:40) Не так воп...   17.11.2010, 22:04
|- - AD   Блин. Да искал я. Ответы только по динамической сб...   18.11.2010, 0:07
- - Litkevich Yuriy   Цитата(AD @ 18.11.2010, 2:07) что с Parad...   18.11.2010, 2:38
|- - AD   Сделал следующую функцию подключения: /// Глобальн...   22.11.2010, 17:41
- - panter_dsd   connectionstrings   22.11.2010, 18:01
|- - AD   Цитата(panter_dsd @ 22.11.2010, 18:01) co...   22.11.2010, 18:12
|- - AD   Я действительно буду благодарен за помощь. Видимо,...   23.11.2010, 0:06
- - panter_dsd   db.setDatabaseName ("Provider=Microsoft.Jet.O...   23.11.2010, 0:24
|- - AD   Цитата(panter_dsd @ 23.11.2010, 0:24) db....   23.11.2010, 11:05
- - panter_dsd   Выложи куда-нибудь БД, я поковыряюсь.   23.11.2010, 11:17
|- - AD   Цитата(panter_dsd @ 23.11.2010, 11:17) Вы...   23.11.2010, 11:18
- - panter_dsd   А путь какой указываешь? Уверен, что одбц позволяе...   23.11.2010, 11:23
|- - AD   Цитата(panter_dsd @ 23.11.2010, 11:23) А ...   23.11.2010, 11:25
- - panter_dsd   Не забывай, что БД парадокс - не файл, а каталог. ...   23.11.2010, 11:27
|- - AD   Создал нужный каталог. Теперь пишет следующее имя ...   23.11.2010, 12:01
- - panter_dsd   Читай маны по парадоксу. А лучше достань утилитку ...   23.11.2010, 12:29
|- - AD   Все. Проблему решил. Создавать ничего необязательн...   23.11.2010, 13:27
|- - AD   Вот функция соединения с БД: /// Глобальные переме...   23.11.2010, 14:00
|- - BRE   Цитата(AD @ 23.11.2010, 14:00) /// Глобал...   23.11.2010, 15:41
- - panter_dsd   Пожалуйста.   23.11.2010, 14:02


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


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




RSS Текстовая версия Сейчас: 29.4.2024, 13:29