Можно ли использовать cmd. ExecuteScalar, когда использование sproc ВОЗВРАЩАЕТ @value

Как предложил @ Nick.McDermaid, попробуйте очистить данные и выполнить приведение с использованием производного столбца, прежде чем вставить его в SQL Server. Также убедитесь, что вы проверите для значений NULL. Вы можете использовать следующее выражение:

ISNULL([Price]) ? NULL(DT_CY) : ([Price] == "" ? NULL(DT_CY) : (DT_CY)(REPLACE(REPLACE((DT_WSTR,50)[Price],"$",""),",",""))) 

После удаления знака $ и запятых , операция приведения будет работать нормально.

Полезная ссылка

5
задан Blankman 6 February 2009 в 15:34
поделиться

2 ответа

Нет, Вы не можете. ExecuteScalar () метод разработан для возврата как единственное значение, которое возвращено в наборе результатов. В основном, значение в первом столбце первой возвращенной строки.

Для получения возвращаемого значения необходимо добавить параметр к объекту SQLCommand. Используйте имя "@RETURN_VALUE" и укажите направление параметра Возврата при создании объекта параметра. Можно затем использовать ExecuteNonQuery () метод.

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

8
ответ дан 13 December 2019 в 19:37
поделиться

Отвечать на Ваш другой вопрос, (интервал) - бросок, который является, в действительности отличающийся, чем преобразование (Преобразовать. ToInt32).

В броске Вы - вид высказывания, что бросаемый объект действительно имеет тип, который Вы не бросаете к так никакому реальному преобразованию/парсингу, сделан. Так как интервал не может быть пустым, бросок недопустим, когда объект, который Вы бросаете, является несуществующим, и исключение выдается.

С преобразованием некоторые происходят на самом деле парсинг и логика, и это обрабатывает ситуацию, где преобразовываемый объект является несуществующим.

Существует еще некоторая информация об этом здесь.

3
ответ дан 13 December 2019 в 19:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: