Вниз
Скачать: CL | DM;

Вопрос про запрос   Найти похожие ветки 

 
Сергей Ю.   (2004-09-03 20:23) [0]

Как можно получить значение идентификатора последней записи? В форуме пробегал вот такой вариант: select @@IDENTITY as IDzakaz, но почему нет имени таблицы в этом запросе? Результатом выполнения запроса является ноль полей :( Где я торможу? (В SQL-е я полный профан, но мне очень надо :))
И еще - после 5-6 раз запуска проги дельфа ругается что нехватает памяти для выполнения запроса. После закрытия/открытия дельфы все в норме опять на 5-6 раз. В чем косяк?


 
YurikGL ©   (2004-09-03 21:27) [1]


> Сергей Ю.   (03.09.04 20:23)  

По поводу 1-го то можно сказать last, но после дейсвия набор данных может неожиданно измениться т.к. другой человек добавит запись.
По поводу второго - где то что-то не освобождаешь.


 
Fay ©   (2004-09-03 21:47) [2]

>>  но почему нет имени таблицы в этом запросе?
Не нужно. Это не Oracle.


 
Сергей Ю.   (2004-09-04 11:40) [3]

Тогда как обратиться к результату запроса (select @@IDENTITY as IDzakaz)? Query.FieldbyName["idzakaz"].asinteger говорит что колонка idzakaz несуществует :(


 
kvit   (2004-09-04 12:09) [4]

select @@IDENTITY as IDzakaz from Table1

это делается после вставки


 
kvit   (2004-09-04 12:10) [5]

При закрытиии программы поставь закрытие конекта с базой


 
Сергей Ю.   (2004-09-06 07:37) [6]

Я непонял: надо писать from таблица или нет (см. ответ fay)? И главное - как взять результат выполнения запроса?


 
sniknik ©   (2004-09-06 08:52) [7]

> надо писать from таблица или нет
не надо, надо только выполнять строго после вставки (чтобы было не ноль а нужное число)
если нужна привязка к таблице (ну вставляеш в несколько таблиц после нужны их автоинкременты) используй IDENT_CURRENT("table_name")

> И главное - как взять результат выполнения запроса?
стандартно как и из просто таблици.


 
Сергей Ю.   (2004-09-06 09:18) [8]

Стандартно это как? Так: Query.FieldbyName["idzakaz"].asinteger - неработает :(?


 
Сергей Ю.   (2004-09-06 09:35) [9]

Сорри за мою тупость. Все сам разобрался. Всем спасибо.


 
Ega23 ©   (2004-09-06 10:26) [10]

Как можно получить значение идентификатора последней записи? В форуме пробегал вот такой вариант: select @@IDENTITY as IDzakaz, но почему нет имени таблицы в этом запросе? Результатом выполнения запроса является ноль полей :( Где я торможу? (В SQL-е я полный профан, но мне очень надо :))

Ты неправильно "слышал". Делать надо так:
Declare @X int
Insert into Table1 (Col1, Col2, ... , ColN)
           Values (Val1, Val2, ... , ValN)        
И сразу-же следующей строкой:
Select @X=@@IDENTITY


Более подробно про @@IDENTITY читай в BOL.


И еще - после 5-6 раз запуска проги дельфа ругается что нехватает памяти для выполнения запроса. После закрытия/открытия дельфы все в норме опять на 5-6 раз. В чем косяк?


"Рваные коннекты" остаются. Поди Program Reset часто делаешь. Или Ctrl+F2 (что одно и то же :о))...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.979 c
14-1095079217
marsden
2004-09-13 16:40
2004.10.03
А как войти зарегистрированному пользователю?


1-1095523707
Hensin
2004-09-18 20:08
2004.10.03
Прилипание формы к краям экрана


14-1094804561
Shiza
2004-09-10 12:22
2004.10.03
Как починить справку в Delphi 5?


1-1095335590
gsk
2004-09-16 15:53
2004.10.03
TStringList


1-1095321109
Квэнди
2004-09-16 11:51
2004.10.03
проблема с divmod




   Наверх