|
|
|
SCOPE_IDENTITY() в ADO
|
|||
|---|---|---|---|
|
#18+
Пишу клиента к базе данных (MS VC 6.0, MFC, MS SQL 2k). Выполняю следующий код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2005, 17:33 |
|
||
|
SCOPE_IDENTITY() в ADO
|
|||
|---|---|---|---|
|
#18+
В том, что это два разных батча. Подробности в боле. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2005, 22:11 |
|
||
|
SCOPE_IDENTITY() в ADO
|
|||
|---|---|---|---|
|
#18+
Даже лучше Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2005, 22:26 |
|
||
|
SCOPE_IDENTITY() в ADO
|
|||
|---|---|---|---|
|
#18+
Добавил в запрос set nocount on . Действительно SCOPE_IDENTITY() стал возвращать Id последней добавленной записи. Но вместо одной записи тепреь добавлятся шесть 8-[ ] Прямо мистикак какая-то ;( Откуда взялись лишние записи и как побороть эту напасть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2005, 13:04 |
|
||
|
SCOPE_IDENTITY() в ADO
|
|||
|---|---|---|---|
|
#18+
BigBobДобавил в запрос set nocount on . Действительно SCOPE_IDENTITY() стал возвращать Id последней добавленной записи. Но вместо одной записи тепреь добавлятся шесть 8-[ ] Прямо мистикак какая-то ;( Откуда взялись лишние записи и как побороть эту напасть? Открывайте Profiler и смотрите, чего Ваш клиент футболит серверу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2005, 13:09 |
|
||
|
SCOPE_IDENTITY() в ADO
|
|||
|---|---|---|---|
|
#18+
Profiler показывает, что когда set nocount on запрос действительно выполняется шесть раз: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2005, 13:44 |
|
||
|
SCOPE_IDENTITY() в ADO
|
|||
|---|---|---|---|
|
#18+
BigBobОткуда берутся ещё пять вызовов? Чудес не бывает. Ставьте брекпоинт и смотрите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2005, 13:45 |
|
||
|
SCOPE_IDENTITY() в ADO
|
|||
|---|---|---|---|
|
#18+
Конечно, я первым делом протрасировал свой код под отладчиком. Рекодсет действиетльно отрывается только один раз. Кроме того если убрать set rowcount on то profiler показывает один запрос и добавляется одна запись: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 10:00 |
|
||
|
SCOPE_IDENTITY() в ADO
|
|||
|---|---|---|---|
|
#18+
А зачем точки с запятой ? без них не работает ? авторSQL:BatchCompleted SET FMTONLY ON set nocount on SET FMTONLY OFF Вот этот код показывает, что когда АДО пытается определить выходные параметры, он считает, что выполняет только коману SET FMTONLY ON. Почему не понятно. MDAC какой версии ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 16:21 |
|
||
|
SCOPE_IDENTITY() в ADO
|
|||
|---|---|---|---|
|
#18+
сорри, не команду SET FMTONLY ON, а set nocount on ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 16:23 |
|
||
|
SCOPE_IDENTITY() в ADO
|
|||
|---|---|---|---|
|
#18+
Операционка XP SP1. А какой версии MDAC - не знаю ;( Как можно посмотреть? Или попробовать поставить последний с www.microsoft.com? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 20:34 |
|
||
|
SCOPE_IDENTITY() в ADO
|
|||
|---|---|---|---|
|
#18+
версию можно посмотреть тут HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess\FullInstallVer HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess\Version И всё таки, попробуй выполнить эту команду без разделителя ( ; ) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 10:47 |
|
||
|
|

start [/forum/topic.php?fid=57&tid=2033650]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 388ms |

| 0 / 0 |
