crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Oracle Procedure, Получить данные
crashsp
  опции профиля:
сообщение 12.11.2010, 10:51
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 56
Регистрация: 23.10.2010
Пользователь №: 2144

Спасибо сказали: 8 раз(а)




Репутация:   546  


Доброго времени суток!
Создал простую процедуру в Oracle вот так :
create or replace procedure MyProc is
emp_id number;
CURSOR cur_emp IS
SELECT HR.Employees.EMPLOYEE_ID FROM HR.EMPLOYEES;
BEGIN
  OPEN cur_emp;
      LOOP
      
            FETCH cur_emp into emp_id;
           dbms_output.put_line('ID_EMPLOYEES :'||emp_id);

            EXIT WHEN cur_emp%NOTFOUND;  
      
      end LOOP;
      
      CLOSE cur_emp;
      
END MyProc;


Дальше в приложение Qt хочу получить ее результат пытаюсь сделать вот так :
    QSqlQuery query(m_db);
    query.exec("call MyProc()");
    
   while(query.next()){
         qDebug()<<query.value(0).toString();  
    }

Нет ни чего, я думаю и не должно быть) ,ошибки при выполнение тоже нет.
Я думаю суть я донес,собственно вопрос: каким все таки способом можно получить результат ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
crashsp
  опции профиля:
сообщение 15.11.2010, 20:36
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 56
Регистрация: 23.10.2010
Пользователь №: 2144

Спасибо сказали: 8 раз(а)




Репутация:   546  


Огромное спасибо за информацию !!
Пример скомпилился все окей, в Pl/Devolop отработал вернул курсор показал записи
но в Qt приложение выдал вот такую штуку

qDecodeOCIType: unknown OCI datatype: 116
"ORA-00932: несовместимые типы данных: ожидается CHAR, получено DTYCWD
Unable to goto next"


C чем это связано?? и как с этим бороться ?

Благодарю....

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
xls
  опции профиля:
сообщение 16.11.2010, 14:41
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 44
Регистрация: 6.9.2010
Пользователь №: 2013

Спасибо сказали: 7 раз(а)




Репутация:   2  


Цитата
qDecodeOCIType: unknown OCI datatype: 116
"ORA-00932: несовместимые типы данных: ожидается CHAR, получено DTYCWD
Unable to goto next"
C чем это связано?? и как с этим бороться ?

Видимо, все же функция, возвращающая курсор, не может быть использована для возврата записей в Qt обычным способом.
Если не принципиально, можно пойди в обход: создать таблицу со столбцами, соответствующими требуемым столбцам в возвращаемых записях ( полагаю, функция писалась все же не для того, чтобы выбрать все EMPLOYEE_ID из HR.EMPLOYEES ) и в теле функции заполнять эту таблицу, а потом считывать поля обычным SQL-запросом.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.1.2025, 22:01