|
|
|
удаление из табл с рекурсивной связью
|
|||
|---|---|---|---|
|
#18+
Есть таблица типа Eployees в Nothwind т.е. с рекурсивной связью загружаю в типизированный датасет, при удалении родительских строк должны удалиться дочерние. всё прекрасно удаляется, но как начинаю передавать изменения в базу вылетает ошибка concurrency violation: the deletecommand affected 0 records в БД на таблицу навесил тригер который удаляет дочерние записи как бороться с проблемой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2007, 22:03 |
|
||
|
удаление из табл с рекурсивной связью
|
|||
|---|---|---|---|
|
#18+
Удалять таблицы в нужном порядке ( при условии что в датасете есть каскады, а в базе нет). Удалять сначала дочернюю, потом материнскую записи...+ осторожнее с идентити (если она есть опять же) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 10:04 |
|
||
|
удаление из табл с рекурсивной связью
|
|||
|---|---|---|---|
|
#18+
DecardУдалять таблицы в нужном порядке ( при условии что в датасете есть каскады, а в базе нет). Удалять сначала дочернюю, потом материнскую записи...+ осторожнее с идентити (если она есть опять же) в датасете каскад есть, в базе его и быть не могет потому как рекурсия, делал так как вы говорите в хп удалял сначала дочерние потом родительские таже фигня. скорее всего адаптер с ума сходит потому что rowsaffected возращает другое значение, а с идентити - что за грабли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 11:15 |
|
||
|
удаление из табл с рекурсивной связью
|
|||
|---|---|---|---|
|
#18+
NoiRe скорее всего адаптер с ума сходит потому что rowsaffected возращает другое значение, а с идентити - что за грабли? Если в базе идентити надо возвращать ID клиенту при каждой записи. А именно добавлять в Insert запрос адаптера что-то вроде "select @Id = @@IDENTITY". Это раз. Второе рекомендуеться в датасетет на клиенте ставить Step автогенерации в -1, чтобы ключи на клиенте отличлись от ключей сервера...ну и соответвенно правильный порядок обновления таблиц. Прямой при получении и обратный при удалении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 13:23 |
|
||
|
удаление из табл с рекурсивной связью
|
|||
|---|---|---|---|
|
#18+
Decard NoiRe скорее всего адаптер с ума сходит потому что rowsaffected возращает другое значение, а с идентити - что за грабли? Если в базе идентити надо возвращать ID клиенту при каждой записи. А именно добавлять в Insert запрос адаптера что-то вроде "select @Id = @@IDENTITY". Это раз. Второе рекомендуеться в датасетет на клиенте ставить Step автогенерации в -1, чтобы ключи на клиенте отличлись от ключей сервера...ну и соответвенно правильный порядок обновления таблиц. Прямой при получении и обратный при удалении. гых ето понятно, update работает ннормуль при delete траблы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 14:40 |
|
||
|
удаление из табл с рекурсивной связью
|
|||
|---|---|---|---|
|
#18+
NoiRe гых ето понятно, update работает ннормуль при delete траблы Траблы при удалении часто бывают как раз от несовпадения ключей в базе и на клиенте. Смоделируйте ситуацию с возникновением "ямы" в базе и посмотрите. 1. Запустите приложение. создайте запись и сохраните её в базу. 2. Удалите запись. 3. Перезапустите приложение. Создайте запись. и попробйте удалить. если не выходит..значит дело в несовпадении ключей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 15:15 |
|
||
|
удаление из табл с рекурсивной связью
|
|||
|---|---|---|---|
|
#18+
Decard NoiRe гых ето понятно, update работает ннормуль при delete траблы Траблы при удалении часто бывают как раз от несовпадения ключей в базе и на клиенте. Смоделируйте ситуацию с возникновением "ямы" в базе и посмотрите. 1. Запустите приложение. создайте запись и сохраните её в базу. 2. Удалите запись. 3. Перезапустите приложение. Создайте запись. и попробйте удалить. если не выходит..значит дело в несовпадении ключей. ок попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 15:47 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=34631483&tid=1352720]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
80ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 383ms |

| 0 / 0 |
