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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как записать одномерный массив используя QT в postgress?  (Прочитано 4942 раз)
discribe
Гость
« : Апрель 20, 2010, 13:26 »

Добрый день, возник вопрос по записи одномерного массива в БД постгресс. Postgress может хранить массивы данных, допустим типа double precision[], а метод QsqlQuery :: void bindValue ( int pos, const QVariant & val, QSql::ParamType paramType = QSql::In ) принимает в качестве параметра класс  QVariant, в свою очередь преобразование массива  QVariant не поддерживает, может кто сталкивался с проблемой записи массивов данных и сможете проконсультировать меня)  Премного благодарен заранее.
Записан
MoPDoBoPoT
Гость
« Ответ #1 : Апрель 20, 2010, 15:11 »

метод QsqlQuery :: void bindValue ( int pos, const QVariant & val, QSql::ParamType paramType = QSql::In ) принимает в качестве параметра класс  QVariant, в свою очередь преобразование массива  QVariant не поддерживает
Зато поддерживает QVariantList (он же QList<QVariant>).
Не совсем понял как у тебя организована работа с массивом в БД, но возможно тебе поможет QSqlQuery::execBatch() (надо смотреть поддержку драйвером (SqlDriver::hasFeature()) возможностей QSqlDriver::BatchOperations и QSqlDriver::MultipleResultSets)
Записан
Marat(Qt)
Гость
« Ответ #2 : Апрель 25, 2010, 18:05 »

Добрый день, возник вопрос по записи одномерного массива в БД постгресс. Postgress может хранить массивы данных, допустим типа double precision[], а метод QsqlQuery :: void bindValue ( int pos, const QVariant & val, QSql::ParamType paramType = QSql::In ) принимает в качестве параметра класс  QVariant, в свою очередь преобразование массива  QVariant не поддерживает, может кто сталкивался с проблемой записи массивов данных и сможете проконсультировать меня)  Премного благодарен заранее.
Получи массив запросом из базы и сделай toString - посмотри как в строке массив хранится, когда будешь отсылать информацию (update, insert, etc) записывай массив в QString в таком формате, в каком тебе их postgre высылает
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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