|
|
|
Получение идентификатора добавленной записи в FormView
|
|||
|---|---|---|---|
|
#18+
На форме есть DataSource связанный с FormView. Подскажите алгоритм определения идентификатора (первичного ключа, по полю identity) добавленой записи. Есть идея перехватить событие e DataSource Inserting и выполнить команду самостоятельно приписав в конец SELECT @@Identity и задав e.Cancel = true. Но как-то этот подход не воодушевляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2006, 17:40:53 |
|
||
|
Получение идентификатора добавленной записи в FormView
|
|||
|---|---|---|---|
|
#18+
Разве никто не сталкивался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2006, 12:41:35 |
|
||
|
Получение идентификатора добавленной записи в FormView
|
|||
|---|---|---|---|
|
#18+
Можно связаться с хранимыми процедурами и получать из них идентификатор добавленной записи, но вариант не годится. Тот вариант, до которого мне удалось додуматься подходит вероятно только для MS SQL и для идентити первичных ключей и заключается в следующем: 1) В конец SQL запроса на создание записи на DataSource добавляется "; SELECT @NewElementID = @@IDENTITY" 2) В коллекцию InsertParameters добавляется <asp:Parameter Name="NewElementID" Type="Int32" Direction="Output" /> 3) Перехватывается событие Inserted на DataSource где (int)e.Command.Parameters["@NewElementID"].Value даст идентификатор добавленной записи Может имеются другие способы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2006, 15:06:05 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=878&tid=1389534]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 356ms |

| 0 / 0 |
