Вниз
Скачать: 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.037 c
14-1095418609
banderas
2004-09-17 14:56
2004.10.03
Базы Касперского 5.0


8-1088879646
nolimit
2004-07-03 22:34
2004.10.03
flash в исполняемый файл


3-1094223672
}|{yk
2004-09-03 19:01
2004.10.03
Вот проблема встала...


3-1094532502
Павел
2004-09-07 08:48
2004.10.03
работа с MSSQL Server на других компах.


6-1090908972
MetalFan
2004-07-27 10:16
2004.10.03
IdTCPClient&IdTCPServer VS ServerSocket&ClientSocket




   Наверх