|
|
|
Помогите, pls: Ado Command возвращает 0 RowsAffected
|
|||
|---|---|---|---|
|
#18+
Ситуация: Работаем с MSSQL 7.0 sp2 при выполнении insert ... values (...) через Command.Excecute этот самый Execute возвращает RowsAffected = 0 если в таблице, куда вставляется запись, есть триггер на update, в котором выполнается код типа Код: plaintext т.е. какой-либо апдейт, который не обновляет ни одной строки. Раньше с сервером работали через bde(dblib), и тот возвращал правильное количество вставленных записей. Проблема в том, что делфи проверяет RowsAffected и решает, что вставка не прошла. В результате вся транзакция откатывается. Коллеги, это баг или фича? И как с этим можно бороться, посоветуйте пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2002, 12:27:40 |
|
||
|
Помогите, pls: Ado Command возвращает 0 RowsAffected
|
|||
|---|---|---|---|
|
#18+
В триггере стоит SET NOCOUNT ON? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2002, 12:32:11 |
|
||
|
Помогите, pls: Ado Command возвращает 0 RowsAffected
|
|||
|---|---|---|---|
|
#18+
2 jimmers: Конечно нет :) Я проверил: если ставить NOCOUNT ON Возвращается RowCount = -1 А если OFF - 0, как я и писал раньше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2002, 16:17:55 |
|
||
|
Помогите, pls: Ado Command возвращает 0 RowsAffected
|
|||
|---|---|---|---|
|
#18+
А при выполнении из QA он пишет скока строк обновлено? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2002, 16:21:52 |
|
||
|
Помогите, pls: Ado Command возвращает 0 RowsAffected
|
|||
|---|---|---|---|
|
#18+
To Тrong: Пишет. Ну конечно в этаком виде: 0 rows affected (Это пустой апдейт в триггере) 1 rows affected (Это сам insert) И ДвеСобаки-РоузАффектид после этого инсерта тоже как положено имеет значение 1. Похоже что дело в ADO. Я думал глюк. У меня сначала стоял 7.0 без сервиспаков, потом я поставил sp2 потом клиента поставил от 2000. И результат одинаков. Может все таки фича, а я, новичок в адо, не понимаю в чем прелесть? Беда в том, что делфевый мидас, который я пользовал и продолжаю пользовать. а точнее TDatasetProvider (а еще точнее SQLResolver) проверяет это значение. И что бы моя старая прога заработала с ADO пришлось написать наследника от этого провайдера и отключить проверку. А теперь сижу и думаю, может сам дурак, велосипед изобрел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2002, 18:59:13 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32046127&tid=1820807]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 324ms |

| 0 / 0 |
