Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как получить последнее значение, возвращаемое из хранимки? / 22 сообщений из 22, страница 1 из 1
13.10.2008, 22:25
    #35592335
vino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
вызываю хранимку через ExecuteScalar()
но в ней есть вложенные вызовы и каждый добавляет свой результат, а меня интересует последний, в то время как ExecuteScalar возвращает всегда первый...
Вопрос - как получить максимально просто последний результат (число)?

Например:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
try
        {
            using (SqlConnection myConn = new SqlConnection(strConn))
            {
                myConn.Open();
                using (SqlCommand myCmd = new SqlCommand("SP_FIBONACCI", myConn))
                {
                    myCmd.CommandType = CommandType.StoredProcedure;
                    myCmd.Parameters.Add(new SqlParameter("@Value", SqlDbType.Int));
                    myCmd.Parameters["@Value"].Value =  4 ;
                    return (Int32)myCmd.ExecuteScalar();
                }
            }
...
Рейтинг: 0 / 0
13.10.2008, 22:27
    #35592337
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
vino...но в ней есть вложенные вызовы и каждый добавляет свой результат, а меня интересует последний, в то время как ExecuteScalar возвращает всегда первый...
Вопрос - как получить максимально просто последний результат (число)?

в смысле хранимка содержит в себе несколько инструкций select?
...
Рейтинг: 0 / 0
14.10.2008, 09:03
    #35592574
WYPMAH
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
vinoно в ней есть вложенные вызовы и каждый добавляет свой результат, а меня интересует последний, в то время как ExecuteScalar возвращает всегда первый
либо убирайте свои вызовы, либо как DataSet/DataTable забирайте, а там обрабатывайте.
...
Рейтинг: 0 / 0
14.10.2008, 09:05
    #35592580
WYPMAH
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
+
MSDNUse the ExecuteScalar method to retrieve a single value (for example, an aggregate value) from a database. This requires less code than using the ExecuteReader method and performing the operations necessary to generate the single value using the data returned by a DbDataReader .
_______________
"Если человек не знает, куда он плывет, для него нет благоприятных ветров". Сенека
...
Рейтинг: 0 / 0
14.10.2008, 10:14
    #35592696
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
Выложить хранимку, что-бы люди не гадали на кофейной гуще, религия не велит?
...
Рейтинг: 0 / 0
14.10.2008, 10:48
    #35592785
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
МСУВыложить хранимку, что-бы люди не гадали на кофейной гуще, религия не велит?
Дык она ж нерабочая.
...
Рейтинг: 0 / 0
14.10.2008, 11:20
    #35592883
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
ИзопропилМСУВыложить хранимку, что-бы люди не гадали на кофейной гуще, религия не велит?
Дык она ж нерабочая.
А как Вы это определили?
...
Рейтинг: 0 / 0
14.10.2008, 11:20
    #35592884
vino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
Compositumvino...но в ней есть вложенные вызовы и каждый добавляет свой результат, а меня интересует последний, в то время как ExecuteScalar возвращает всегда первый...
Вопрос - как получить максимально просто последний результат (число)?

в смысле хранимка содержит в себе несколько инструкций select?
Именно! Похоже, что придется брать через SqlDataAdapter или еще как-то. Может, подскажете, как это выбрать? Ведь здесь не одна таблица получается, а например, четыре.

Реальная процедура довольно сложная и содержит кучу лишнего, но, например, можно совсем простую, сохраняя принцип выдачи данных:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE PROCEDURE SP_FIBONACCI @Value int
AS BEGIN
 IF @Value <  3 
  SET @Value =  1 
 ELSE BEGIN
  DECLARE @r1 int, @r2 int
  SET @Value = @Value- 1 
  EXEC @r1 = SP_FIBONACCI @Value
  SET @Value = @Value- 1 
  EXEC @r2 = SP_FIBONACCI @Value
  SET @Value = @r1+@r2
 END
 SELECT @Value
 RETURN @Value
END
...
Рейтинг: 0 / 0
14.10.2008, 11:29
    #35592913
vino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
С параметром до 9 работает нормально, больше - не гарантирую.
Но меня интересует именно получение последнего результата в похожем случае
...
Рейтинг: 0 / 0
14.10.2008, 11:32
    #35592924
vino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
Сделайте параметр не менее 4 и это будет похоже на набор, который я получаю
...
Рейтинг: 0 / 0
14.10.2008, 11:34
    #35592927
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
vino
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE PROCEDURE SP_FIBONACCI @Value int
AS BEGIN
 IF @Value <  3 
  SET @Value =  1 
 ELSE BEGIN
  DECLARE @r1 int, @r2 int
  SET @Value = @Value- 1 
  EXEC @r1 = SP_FIBONACCI @Value
  SET @Value = @Value- 1 
  EXEC @r2 = SP_FIBONACCI @Value
  SET @Value = @r1+@r2
 END
 SELECT @Value
 RETURN @Value
END


Это еще нахрена?

Код: plaintext
1.
SELECT @Value
RETURN @Value

Почему просто не юзать ретурн? А на клиенте юзать ParameterDirection.ReturnValue + SqlCommand.ExecuteNonQuery.
...
Рейтинг: 0 / 0
14.10.2008, 12:29
    #35593093
vino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
МСУ... юзать ретурн? А на клиенте юзать ParameterDirection.ReturnValue + SqlCommand.ExecuteNonQuery.
А подробнее? что за ParameterDirection.ReturnValue ?
...
Рейтинг: 0 / 0
14.10.2008, 12:30
    #35593098
vino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
В данном случае мне надо именно получить данные, не меняя хранимые процедуры
...
Рейтинг: 0 / 0
14.10.2008, 12:31
    #35593102
vino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
Вот как раз где находится ParameterDirection, я не знаю, но с его помощью получить именно последний результат было бы замечательно!
...
Рейтинг: 0 / 0
14.10.2008, 12:39
    #35593127
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
Сделать в конце процедуры select @Value и вызвать ExecuteScalar несудьба?
...
Рейтинг: 0 / 0
14.10.2008, 12:44
    #35593145
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
vinoМСУ... юзать ретурн? А на клиенте юзать ParameterDirection.ReturnValue + SqlCommand.ExecuteNonQuery.
А подробнее? что за ParameterDirection.ReturnValue ?
MSDN Вы принципиально не используете?
...
Рейтинг: 0 / 0
14.10.2008, 14:10
    #35593426
vino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
MSDN это тяжеловесный справочник, в котором воды немало
Туда я лезу, если остальные методы исчерпаны
Я нашел http://www.sql.ru/forum/actualthread.aspx?tid=595312
Это прояснило ситуацию :)
...
Рейтинг: 0 / 0
14.10.2008, 14:46
    #35593544
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
vinoMSDN это тяжеловесный справочник, в котором воды немало
В MSDN'е разработчики уже убрали поиск информации по фильтру?
...
Рейтинг: 0 / 0
14.10.2008, 17:03
    #35594059
WYPMAH
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
vinoТуда я лезу, если остальные методы исчерпаны
дак легче нажать Ф1, чем лезть на форум и ждать ответа.
...
Рейтинг: 0 / 0
14.10.2008, 17:08
    #35594079
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
WYPMAHvinoТуда я лезу, если остальные методы исчерпаны
дак легче нажать Ф1, чем лезть на форум и ждать ответа.
+87634098234823468628365465746582347019843765435476543775435876784797347548543192839875623481923481234823472198348763409823482346862836546574658234701984376543547654377543587678479734754854319283987562348192348123482347219834876340982348234686283654657465823470198437654354765437754358767847973475485431928398756234819234812348234721983487634098234823468628365465746582347019843765435476543775435876784797347548543192839875623481923481234823472198348763409823482346862836546574658234701984376543547654377543587678479734754854319283987562348192348123482347219834876340982348234686283654657465823470198437654354765437754358767847973475485431928398756234819234812348234721983487634098234823468628365465746582347019843765435476543775435876784797347548543192839875623481923481234823472198348763409823482346862836546574658234701984376543547654377543587678479734754854319283987562348192348123482347219834876340982348234686283654657465823470198437654354765437754358767847973475485431928398756234819234812348234721983487634098234823468628365465746582347019843765435476543775435876784797347548543192839875623481923481234823472198348763409823482346862836546574658234701984376543547654377543587678479734754854319283987562348192348123482347219834
...
Рейтинг: 0 / 0
14.10.2008, 18:01
    #35594244
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
МСУхзсколькоразрядное целоеНаболело.
...
Рейтинг: 0 / 0
14.10.2008, 18:10
    #35594279
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить последнее значение, возвращаемое из хранимки?
Алексей КМСУхзсколькоразрядное целоеНаболело.
В точку, Лёш!
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как получить последнее значение, возвращаемое из хранимки? / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]