2015-10-16 4 views
1

У меня возникли проблемы с возвратом валы нам возвращаемого значения CString. У меня нет доступа к хранимой процедуре, но я считаю, что программист, который написал его, использовал RETURN NextEDB, где NextEDB - CString. GetRecordCount() = 1 и GetFieldCount() = 1, но NextEDB не имеет значения. Здесь я устанавливаю параметр возвращаемого значения:Возможно ли получить значение возвращаемого значения CString (например, имя) из хранимой процедуры SQL с использованием ADO и C++

CADOParameter resultParam (CADORecordset :: typeVarChar, sizeof (char) * 20, CADOParameter :: paramReturnValue);

Вот где я пытаюсь получить значение:

resultParam.GetValue (NextEDBID)

Все другого кода в функции то же в куче других функций, которые получают заявленные параметры и все остальные функции работают. Я могу получить значения возвращаемого значения, когда они являются целыми числами, но CString не хочет раскрывать себя. Что я делаю не так.

ответ

0

Код возврата хранимой процедуры (инструкция RETURN) всегда представляет собой 32-разрядное целое число со знаком. Он предназначен для указания успешного (нулевого) или ненулевого (ошибки/предупреждения), а не возврата данных.

Рассмотрите возможность использования выходного параметра или результирующего набора для возврата данных из хранимой процедуры, а не кода возврата. Это обеспечит гибкость в отношении типов данных.

 Смежные вопросы

  • Нет связанных вопросов^_^