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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Запрос из файла  (Прочитано 4479 раз)
cya-st
Гость
« : Сентябрь 17, 2009, 21:38 »

Подскажите пожалуйста как выполнить SQL-команды из файла? У меня из файла должны создаватся две таблици. Я считываю содержимое файла в переменную типа QString и вызываю метод exec(srSQL); класса QSqlQuery, но таблици не создаются. В чем может быть трабла?
Записан
developer
Гость
« Ответ #1 : Сентябрь 17, 2009, 23:36 »

Давай свой файл из sql. В нем все может и быть. Порядок создания таблиц может быть неверным.
Записан
cya-st
Гость
« Ответ #2 : Сентябрь 18, 2009, 11:12 »

Из командной строки все работает
Код
DOS
@C:\PG\bin\psql.exe -U user -d DBNAME -f d:\DIR1\sql\cmm.sql
, а в проге нет.
Записан
developer
Гость
« Ответ #3 : Сентябрь 18, 2009, 11:14 »

qDebug() << QSqlQuery.lastError().text();
qDebug() <<  QSqlQuery.lastQuery();   - сделай так после exec(srSQL). И увидиш свою ошибку
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #4 : Сентябрь 18, 2009, 11:52 »

cya-st, могу пример проги дать. Писал некоторое время назад, уже подзабыл как устроена Улыбающийся
Идея:
есть много БДшек SQLite, надо в них манипуляции с данными выполнять. Скармливаем программе скрипт, и она его выполняет.
Особенность:
в SQLite можно временные таблицы создавать (которые автоматически удяляются при отключении от БД). В программу жёстко зашито имя "output", если программа в конце своей работы обнаруживает такую таблицу (она может быть создана скриптом), то печатает её содержимое в стандартный вывод.

Пример запуска программы:
Код
Bash
sp my.bomdb my.sql > my.log

Во вложении код и пример скрипта (для справки)
Записан

Юра.
cya-st
Гость
« Ответ #5 : Сентябрь 18, 2009, 13:01 »

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


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