powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Возвратить @@identity из хп
10 сообщений из 10, страница 1 из 1
Возвратить @@identity из хп
    #32336618
D.Yesieff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть хп на mssql с insert into + вых параметр назовем Insert_into1
нужно возвратить параметр @@identity из VB
делаю так:
dim rs as new recordset
set rs = db.execute ("declare @r int exec insert_into1 ('pole2','pole3',@r output select @r")
хп однозначно выполняется, новые записи добавляются
но дальше код VB не выполняется
хп тестировалась в Query Analyzer там параметр возвращается
- че нехватает ваську?
...
Рейтинг: 0 / 0
Возвратить @@identity из хп
    #32336651
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если так написать?

set rs = db.execute (" SET NOCOUNT ON declare @r int exec insert_into1 ('pole2','pole3',@r output select @r")
...
Рейтинг: 0 / 0
Возвратить @@identity из хп
    #32336656
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему не через команду с параметром ? там то проблем нет
...
Рейтинг: 0 / 0
Возвратить @@identity из хп
    #32336675
D.Yesieff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to tpg - тоже самое

to кузя - как?
...
Рейтинг: 0 / 0
Возвратить @@identity из хп
    #32336747
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажи текст insert_into1.
...
Рейтинг: 0 / 0
Возвратить @@identity из хп
    #32336752
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, здесь, по-моему, не хватает одной закрывающей скобки, а именно перед select.
...
Рейтинг: 0 / 0
Возвратить @@identity из хп
    #32336804
D.Yesieff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to tpg - писал попамяти поетому что-то мог упустить но суть не меняется
to кузя - хп большая - сократил поля

CREATE PROCEDURE [insert_into1]
(@K_4 [int],
@K_co_5 [int],
@K_oda_6 [int],
@r [int] output)

AS INSERT INTO [db1].[dbo].[Main]
[K],
[K_co],
[K_oda])

VALUES
(@K_4,
@K_co_5,
@K_oda_6)
set @r = @@identity
return @r
GO
...
Рейтинг: 0 / 0
Возвратить @@identity из хп
    #32337245
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У васька с возвратом проблемы кАнкретные, была у меня такая бодяга, уже не помню.
Попробуй через Command.
Т.е. все лепишь к ней, в ней же создаешь выходной параметр с тем же именем, ее лепишь к рекордсету и наслаждаешься новым ID :)

Magnus
...
Рейтинг: 0 / 0
Возвратить @@identity из хп
    #32337347
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А перепиши ка её так

CREATE PROCEDURE [insert_into1]
(@K_4 [int],
@K_co_5 [int],
@K_oda_6 [int],
@r [int] output)

AS
SET NOCOUNT ON
INSERT INTO [db1].[dbo].[Main]
[K],
[K_co],
[K_oda])

VALUES
(@K_4,
@K_co_5,
@K_oda_6)
select SCOPE_IDENTITY() --если MSSQL2000

Вызо, соответственно надо бы переписать так

set rs = db.execute (insert_into1 "'pole2'", "'pole3'"...)
...
Рейтинг: 0 / 0
Возвратить @@identity из хп
    #32337351
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже так (очепятался немного)

CREATE PROCEDURE [insert_into1]
(@K_4 [int],
@K_co_5 [int],
@K_oda_6 [int])
AS
SET NOCOUNT ON
INSERT INTO [db1].[dbo].[Main]
[K],
[K_co],
[K_oda])
VALUES
(@K_4,
@K_co_5,
@K_oda_6)
select SCOPE_IDENTITY() --если MSSQL2000

Вызов, соответственно надо бы переписать так

set rs = db.execute ("insert_into1 K_4, K_5, K_6")

вместо K_4, K_5, K_6 необходимо подставить строковые представления вставляемых величин.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Возвратить @@identity из хп
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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