Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как узнать ID новой вставленной записи в таблице? / 5 сообщений из 5, страница 1 из 1
29.05.2015, 15:56
    #38971966
msleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ID новой вставленной записи в таблице?
Добрый день! Добавляю запись в таблицу на сервере SQL SERVER через recordset, в которой есть ключевое поле identity increment (счетчик) с помошью макроса:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
cnn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=OLAP_DWH_DEV;Data Source=wruistb008"
            cnn.Open
            sqlquery = "SELECT * FROM table"

            rst.Open sqlquery, cnn, adOpenStatic, adLockOptimistic
            
            rst.AddNew
            rst.Fields("Date_start_promo").Value = Date
            ...
            rst.Update

            ID = rst.Fields("ID_Promo").Value




Проблема в том, что ID пусто, такое ощущение, что сервер код добавил в запись, а в recordset не обновил данные(
Пробывал
rst.requery - записи обовляются, но rst перепрыгивает на 1-ую запись.
...
Рейтинг: 0 / 0
29.05.2015, 16:24
    #38972002
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ID новой вставленной записи в таблице?
mslegКак узнать ID новой вставленной записи в таблице?"SELECT SCOPE_IDENTITY()"
...
Рейтинг: 0 / 0
29.05.2015, 18:29
    #38972119
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ID новой вставленной записи в таблице?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
cnn.CursorLocation = adUseClient
cnn.Open
...
rst.Open sqlquery, cnn, adOpenStatic, adLockBatchOptimistic
...
rst.UpdateBatch
ID = rst.Fields("ID_Promo").Value
...
Рейтинг: 0 / 0
31.05.2015, 10:24
    #38972607
msleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ID новой вставленной записи в таблице?
Antonariy,

Спасибо, сработало

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
            cnn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=OLAP_DWH_DEV;Data Source=wruistb008"
            cnn.CursorLocation = adUseClient
            cnn.Open
            
            rst.Open sqlquery, cnn, adOpenStatic, adLockBatchOptimistic
            rst.AddNew
            rst.Fields("Date_start_promo").Value = Date
            ...
            rst.Update
            rst.UpdateBatch

            ID = rst.Fields("ID_Promo").Value
...
Рейтинг: 0 / 0
31.05.2015, 13:00
    #38972639
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать ID новой вставленной записи в таблице?
rst.Update не нужен
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как узнать ID новой вставленной записи в таблице? / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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