|
|
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Сразу прошу прощения, может эта тема уже подымалась, но ответа так и не нашел. Подскажите, как вернуть уникальный номер только что добавленной записи в SQL Server 2008. Работаю с компонентами ADOQuery.Не могу понять, правильно ли я все делаю. Возвращает номер как надо, но не получится ли так, что при работе нескольких пользователей уникальный номер может получить не тот. Привожу кусок кода. Заранее спасибо. Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2018, 07:43 |
|
||
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2018, 09:02 |
|
||
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
ma1tus, ничего не могу понять:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2018, 09:10 |
|
||
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2018, 09:12 |
|
||
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
А там в запросе, после DataModule1.qryQExec.SQL.CLose; точно Clear не пропущен?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2018, 09:43 |
|
||
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
Molchan, Если в кратце, то делать SELECT @@identity - нельзя вообще. SELECT IDENT_CURRENT - тоже нельзя. И тоже вообще. SELECT SCOPE_IDENTITY() - Можно и нужно. Она возвращает данные последней вставленной записи в текущей сессии Соответственно, как только ты сделал DataSet.Close, следующий SELECT SCOPE_IDENTITY() будет равен 0. Если ты работаешь с DataSet.Append, то делать надо так: Код: pascal 1. 2. 3. 4. 5. 6. 7. Если через SQL скрипт, то так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2018, 13:44 |
|
||
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
Valery_B Если через SQL скрипт, то так: Код: pascal 1. 2. Ну и конечно, так тоже делать нельзя. В .ехе не должно быть SQL текста. Надо написать Сторед процедуру, в конце которой сделать Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2018, 13:52 |
|
||
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
Valery_B, Спасибо, разобрался!:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2018, 03:28 |
|
||
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2018, 09:24 |
|
||
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
Valery_BНу и конечно, так тоже делать нельзя. В .ехе не должно быть SQL текста. то есть такой код не правильный? Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2018, 09:29 |
|
||
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
Да да. Именно так делать НЕЛЬЗЯ . DimaBr Код: pascal 1. 2. Забудь об @@Identity. Можно использовать только SCOPE_IDENTITY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2018, 10:51 |
|
||
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
Valery_BЗабудь об @@Identity. Можно использовать только SCOPE_IDENTITY Если нет тригеров, то эти функции идентичны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2018, 10:56 |
|
||
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
DimaBrValery_BЗабудь об @@Identity. Можно использовать только SCOPE_IDENTITY Если нет триггеров, то эти функции идентичны Только, что разработчик добавил триггер в БД. БД используется многими приложениями, часть приложений поломалось, исходников нет. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2018, 11:25 |
|
||
|
Вернуть уникальный номер только что добавленной записи Delphi
|
|||
|---|---|---|---|
|
#18+
AndyMandyТолько, что разработчик добавил триггер в БД. БД используется многими приложениями, часть приложений поломалось, исходников нет. :) Только что разработчик поменял входные параметры хранимки и её имя, исходников нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2018, 11:30 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39685858&tid=2040540]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
190ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 536ms |

| 0 / 0 |
