Russian Qt Forum
Сентябрь 30, 2024, 12:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Создание dbf файла  (Прочитано 9104 раз)
chester
Гость
« : Январь 25, 2012, 10:57 »

Добрый день!!! Мне нужно создать dbf файл. Может кто подскажет как это сделать
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


Просмотр профиля WWW
« Ответ #1 : Январь 25, 2012, 10:59 »

2 варианта:
1. Через QSqlDatabase и ODBC.
2. Самому разобраться с форматом (там не сложно).
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ddrtn
Гость
« Ответ #2 : Январь 25, 2012, 10:59 »

Я делал через ODBC драйвер
Записан
chester
Гость
« Ответ #3 : Январь 25, 2012, 11:04 »

Я делал через ODBC драйвер

А примерчик не покажете?
У меня получилось только подключиться к dbf через odbc, а как создать ??
Записан
ddrtn
Гость
« Ответ #4 : Январь 25, 2012, 11:21 »

В dbf файл - это таблица.
Соответственно,
Код:
QSqlQuery q(database);
q.exec("create table mytable(field integer, field2 integer)");

Только нужно поддерживаемую ODBC для DBF версию sql знать
Записан
chester
Гость
« Ответ #5 : Январь 25, 2012, 11:53 »

Спасибо за ответ!!! Ну это же создастся таблица как раз таки в БД. Я использую Microsoft SQL Server. И мне нужно оттуда табличку выгрузить в dbf
Записан
ddrtn
Гость
« Ответ #6 : Январь 25, 2012, 12:40 »

Спасибо за ответ!!! Ну это же создастся таблица как раз таки в БД. Я использую Microsoft SQL Server. И мне нужно оттуда табличку выгрузить в dbf

Не понял...
Табличка создается в той базе, к которой подключена database.

Если это dbf - база, то создается новый файл dbf.
Дбф база представляет сабой папку с dbf файлами (так ее подключают через odbc)
Записан
chester
Гость
« Ответ #7 : Январь 25, 2012, 12:45 »

Я делаю так
Код
C++ (Qt)
QSqlDatabase dbase = QSqlDatabase::addDatabase("QODBC", "conn2");
dbase.setDatabaseName("Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;");
   if (!dbase.open()) {
       QMessageBox::critical(this, tr("Ошибка SQL"),  dbase.lastError().text());
       return;
   }
QSqlQuery query(dbase);
   query.exec("CREATE TABLE E:\\TABLE(field integer, field2 integer)");
 
Вроде выгружается Подмигивающий) Спасибо большое!!! Если не трудно скажите правильно ли я подключаюсь к базе ??
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


Просмотр профиля WWW
« Ответ #8 : Январь 25, 2012, 13:11 »

Путь не указываешь при подключении.  Тут посмотри.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
chester
Гость
« Ответ #9 : Январь 25, 2012, 13:23 »

Спасибо, исправил
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.096 секунд. Запросов: 22.