Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возвращение значения Autoincrement 
:(
    Опции темы
Гость_Nicka
Дата 1.7.2003, 10:04 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Проблема касается Access ADP-проекта, база в SQLServer
Мне необходимо при Insert-е записи в базу получить значение ее Id
Это Id у меня в таблице типа Long и Independ

Не знаю кто как предложит решит эту проблему...
  Вверх
Unregistered
Дата 1.7.2003, 10:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Кстати работаю в ADO
  Вверх
vickr
Дата 1.7.2003, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 13.5.2003
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Делай вставку записи в хранимой процедуре и сразу после оператора INSERT возвращай клиенту значение глобальной переменной @@IDENTITY, которая как раз и содержит последнее значение счетчика.
P.S. Рекомендую использовать ХП, поскольку этот метод хорошо проверен мною лично. Возможно, то же самое получится и с помощью Pass-Through Queries.
--------------------
Каждую секунду, тыкая в клавиши, мы давим насмерть не менее 1000 микробов =:)
PM MAIL   Вверх
Unregistered
Дата 1.7.2003, 16:22 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Круто!
А что такое ХП,хранимые про-ры -?
Вообще-то я так и делаю, только не понимаю про @@Identity,
то есть как ее возвращать в процедуре?
Я делаю так
ALTER PROCEDURE dbo.pr_music_add
(@id_class int,
@id_out output)
AS
begin
INSERT INTO dbo.music
(id_class)
VALUES (@id_class)

confused.gifconfused.gif(Как присвоить @@Identity)confused.gif

end
''''''''''''''''''''''''
Допустим присвоила, а как в модуле формы извлечь значение этого OUTPUT параметра?

Прошу ответь!



  Вверх
vickr
Дата 1.7.2003, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 13.5.2003
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Цитата
А что такое ХП,хранимые про-ры -?

Так точно.
Цитата
Я делаю так
...

Уточняю:
Код

/* предполагаю, что параметр @id_out у тебя как раз
и предназначен для возвращения id добавленной записи*/
...
INSERT INTO dbo.music
(id_class)
VALUES (@id_class)
SET @new_id = @@IDENTITY

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

CREATE TABLE some_table
(
   id        int IDENTITY(1, 1) NOT NULL,
   name  char(20) NOT NULL,
   notes  varchar(150) NULL
)

Тогда в ХП мы напишем:
Код

...
INSERT INTO some_table ( name, notes )
VALUES ( @name, @notes ) -- это, например, параметры ХП
/* полю id автоматически присваивается следующее значение счетчика,
которое мы и отлавливаем:   */
SET @id_new = @@IDENTITY -- допустим, @id_new - это output - параметр ХП (как и в твоем примере)
...

Вот и все. Проще говоря, глобальная переменная @@IDENTITY содержит последнее значение, присвоенное автоинкрементному счетчику в текущем соединении.
Успешных экспериментов.
adv/72.gif

Это сообщение отредактировал(а) vickr - 1.7.2003, 17:40
--------------------
Каждую секунду, тыкая в клавиши, мы давим насмерть не менее 1000 микробов =:)
PM MAIL   Вверх
Unregistered
Дата 2.7.2003, 12:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Круто!
Осталось попробовать Если сработает то......
  Вверх
vickr
Дата 4.7.2003, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 13.5.2003
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Цитата
Если сработает то......

То - что?
adv/80.gif or adv/76.gif ?


adv/91.gif
--------------------
Каждую секунду, тыкая в клавиши, мы давим насмерть не менее 1000 микробов =:)
PM MAIL   Вверх
nicka
Дата 4.7.2003, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 11.6.2003

Репутация: нет
Всего: 1



И где ты это берешь?
PM MAIL   Вверх
vickr
Дата 4.7.2003, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 13.5.2003
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Это офтопик, но все равно напишу - описания здесь не видел (узнал методом тыка).
Набиваешь сообщение, нажимаешь Просмотр - слева будут frequently used smile.gif смайлики, а внизу - ссылочка "Показать все". Добавляешь, отправляешь. Или снова нажимаешь Просмотр. Все.
--------------------
Каждую секунду, тыкая в клавиши, мы давим насмерть не менее 1000 микробов =:)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0517 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.