Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SCOPE_Identity() возвращает null  [new]
MAcKZloy
Member

Откуда:
Сообщений: 182
Есть две процедуры, одна вызывает другую, которая возвращает идентификатор. сделал транзакцию на уровне приложения:
вот сам код из второй процедуры:
@CurrID bigint output
.....
   insert into Order(SName) 
   values(@SName)
   
   SELECT @CurrID= SCOPE_IDENTITY();

вызываю так:

declare @CurrID bigint;
...
exec [dbo].[Order_Update] @CurrID
2 янв 10, 20:31    [8143965]     Ответить | Цитировать Сообщить модератору
 Re: SCOPE_Identity() возвращает null  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
OUTPUT при вызове процедуры тоже нужно подставлять к переменным.
2 янв 10, 20:33    [8143968]     Ответить | Цитировать Сообщить модератору
 Re: SCOPE_Identity() возвращает null  [new]
MAcKZloy
Member

Откуда:
Сообщений: 182
Сам вопрос втом, что возвращает Null, почему и как решить проблему?
вот как вызываю из программы:

            using (SqlConnection cn = new SqlConnection(this.ConnectionString))
            {
                SqlCommand cmd = new SqlCommand("Order_Update", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cn.Open();
                SqlTransaction trans = cn.BeginTransaction("Update");
                cmd.Transaction = trans;
                try
                {
                    int ret = ExecuteNonQuery(cmd);
                    trans.Commit();
                    return (ret >= 1);
                }
                catch (Exception ex)
                {
                    WriteError(ex.ToString(), path);
                    trans.Rollback();
                }
                return false;
                
            }
2 янв 10, 20:34    [8143971]     Ответить | Цитировать Сообщить модератору
 Re: SCOPE_Identity() возвращает null  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
И где в Вашем примере хотя бы попытка прочитать значение переменной после вызова процедуры?
2 янв 10, 20:37    [8143978]     Ответить | Цитировать Сообщить модератору
 Re: SCOPE_Identity() возвращает null  [new]
MAcKZloy
Member

Откуда:
Сообщений: 182
DeColo®es
OUTPUT при вызове процедуры тоже нужно подставлять к переменным.

Спасибо!
2 янв 10, 20:39    [8143983]     Ответить | Цитировать Сообщить модератору
 Re: SCOPE_Identity() возвращает null  [new]
MAcKZloy
Member

Откуда:
Сообщений: 182
DeColo®es
И где в Вашем примере хотя бы попытка прочитать значение переменной после вызова процедуры?

я это не показал, но проблема была именно в этом.
2 янв 10, 20:40    [8143985]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить