Автор: discribe_85 21.4.2010, 8:40
Добрый день, возник вопрос по записи одномерного массива в БД постгресс. Postgress может хранить массивы данных, допустим типа double precision[], а метод QsqlQuery :: void bindValue ( int pos, const QVariant & val, QSql::ParamType paramType = QSql::In ) принимает в качестве параметра класс QVariant, в свою очередь преобразование массива QVariant не поддерживает, может кто сталкивался с проблемой записи массивов данных и сможете проконсультировать меня) Премного благодарен заранее.
Автор: MoPDoBoPoT 21.4.2010, 19:50
Цитата(discribe_85 @ 21.4.2010, 9:40)
метод 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)
Автор: Litkevich Yuriy 22.4.2010, 11:56
Цитата(MoPDoBoPoT @ 21.4.2010, 23:50)
надо смотреть поддержку драйвером (SqlDriver::hasFeature()
в Qt вообще нет такой возможности, см. описание http://doc.crossplatform.ru/qt/4.6.x/qsqldriver.html#DriverFeature-enum
Автор: MoPDoBoPoT 29.4.2010, 18:53
Цитата(Litkevich Yuriy @ 22.4.2010, 12:56)
в Qt вообще нет такой возможности
Я указал на метод, которым проверяется поддержка фич.
Или я не понял вопроса.
Автор: Litkevich Yuriy 29.4.2010, 20:44
Цитата(MoPDoBoPoT @ 29.4.2010, 22:53)
Я указал на метод, которым проверяется поддержка фич.
Или я не понял вопроса.
вопроса ни какого нет. Есть утверждение, нет смысла вызывать этот метод, т.к. в Qt просто отсутствует данная возможность
Автор: MoPDoBoPoT 30.4.2010, 11:16
Цитата(Litkevich Yuriy @ 29.4.2010, 21:44)
нет смысла вызывать этот метод, т.к. в Qt просто отсутствует данная возможность
Где это такое написано?
Автор: Litkevich Yuriy 30.4.2010, 12:35
Цитата(MoPDoBoPoT @ 30.4.2010, 15:16)
Где это такое написано?
в том-то и дело, что эта возможность отсутствует в с писке возможностей.
В этом списке кроме
BLOB ничего нет, а
Array, такой же встроенный тип данных.