Russian Qt Forum

Qt => Базы данных => Тема начата: sulia от Февраль 16, 2012, 17:27



Название: Как передать одномерный массив в хранимую процедуру Oracle
Отправлено: sulia от Февраль 16, 2012, 17:27
Добрый день.
Подскажите пожалуйста как передать одномерный массив в хранимую процедуру Oracle используя QSqlQuery. Может кто нибудь сталкивался с проблемой, буду очень благодарен.


Название: Re: Как передать одномерный массив в хранимую процедуру Oracle
Отправлено: sulia от Февраль 17, 2012, 00:02
Тема закрыта! Проблема решена! ;D


Название: Re: Как передать одномерный массив в хранимую процедуру Oracle
Отправлено: SimpleSunny от Февраль 17, 2012, 02:27
Решение написали бы, вдруг кому-то потом пригодится.


Название: Re: Как передать одномерный массив в хранимую процедуру Oracle
Отправлено: sulia от Февраль 17, 2012, 10:32
Решение.
Код:
   querys.prepare("BEGIN p_array(:1, :2, :3, :4); END;");  
   QVariantList ints;
   ints << 1 << 2 << 3 << 4;
   querys.addBindValue(ints);
   querys.addBindValue(4);
   querys.addBindValue(3,QSql::Out);
   querys.addBindValue(QString(1024,' '),QSql::Out);
   if(querys.execBatch(QSqlQuery::ValuesAsColumns))
   {
   }

QString(1024,' ') - знаю что так криво просто пример быстро набросал.