
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
19.07.2006, 11:28
|
|||
|---|---|---|---|
|
|||
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
Проблема такая. Использую типизированный ДатаСет. ДатаАдаптеры создал через дизайнер, подключил, датасет заполнился. НО.. При удалении строки таблицы из датасета, после вызова myAdapter.Update(myDataSet, "MyTableName"), изменения не сохраняются в БД. Хотя при вставке новой строки - всё работает. Команда удаления в Адаптере создана автоматически: this.sqlDeleteCommand4.CommandText = "DELETE FROM User_Group WHERE (GrID = @Original_GrID) AND (UserID = @Original_UserID)"; this.sqlDeleteCommand4.Connection = this.sqlConnection1; this.sqlDeleteCommand4.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_GrID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "GrID", System.Data.DataRowVersion.Original, null)); this.sqlDeleteCommand4.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_UserID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "UserID", System.Data.DataRowVersion.Original, null)); Подскажите, в чём может быть проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.07.2006, 12:18
|
|||
|---|---|---|---|
|
|||
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
P.S. Использую VS 2003 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.07.2006, 12:29
|
|||
|---|---|---|---|
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
Запустите Profiler... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.07.2006, 13:00
|
|||
|---|---|---|---|
|
|||
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
Ага. Пусто... Хотя UPDATE и INSERT срабатывают нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.07.2006, 14:01
|
|||
|---|---|---|---|
|
|||
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
Так и что дальше делать? В чём проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 11:46
|
|||
|---|---|---|---|
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
MyloeТак и что дальше делать? В чём проблема? У меня та же проблема, только в 2005-той студии... Инсерт и апдейт работают, а удаление никак не пашет... Уже все перепробывал! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 12:07
|
|||
|---|---|---|---|
|
|||
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
Удаление надо обрабатывать в событии Table.RowChanged Иначе запись удаляется из таблицы и методу myAdapter.Update(myDataSet, "MyTableName") ничего не перепадает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 12:10
|
|||
|---|---|---|---|
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
Super_p Инсерт и апдейт работают, а удаление никак не пашет... Уже все перепробывал! а есть что удалять??? пробовали перед Update посмотреть есть ли записи для удаления Код: plaintext 1. Посмотреть есть ли записи удовлетворяющие where, вполне возможно что записей удовлетворяющих where уже нет. тогда по идее должен выпасть exception. вообщем призыв один - проверять свой код по шагам. .... Код: plaintext Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 12:57
|
|||
|---|---|---|---|
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
Sa Super_p Инсерт и апдейт работают, а удаление никак не пашет... Уже все перепробывал! а есть что удалять??? пробовали перед Update посмотреть есть ли записи для удаления Код: plaintext 1. Посмотреть есть ли записи удовлетворяющие where, вполне возможно что записей удовлетворяющих where уже нет. тогда по идее должен выпасть exception. вообщем призыв один - проверять свой код по шагам. .... Код: plaintext Я удаляю строку из ДатаСет-а, а потом делаю Update... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.07.2006, 05:13
|
|||
|---|---|---|---|
|
|||
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
Попробуте так: Код: plaintext 1. 2. 3. 4. 5. 6. P.S. мои опыты с GetChanges(DataRowState.Deleted); показали, что этот метод, с данным параметром, всегда возращает null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.07.2006, 07:15
|
|||
|---|---|---|---|
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
RomCom Удаление надо обрабатывать в событии Table.RowChanged хм... не в одной из моих программ нет этого, однако записи прекрасно удаляются. RomCom мои опыты с GetChanges(DataRowState.Deleted); показали, что этот метод, с данным параметром, всегда возращает null. вы просто не умеет его готовить :-) и я догадываюсь в чем здесь причина. но все же надо смотреть ваш код. Иллюстрирующий пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Результат: Код: plaintext 1. 2. Super_p Я удаляю строку из ДатаСет-а, а потом делаю Update... это все понятно. но проделайте все действия описанные мною в предыдущем посте, чтобы разобраться в причине. Код: plaintext Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.07.2006, 09:11
|
|||
|---|---|---|---|
|
|||
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
У меня проблема решилась. Нужно было удалять объект DataRow напрямую, вызовом метода Delete(), а я делал через генерированный метод удаления в ДатаСете. Видимо строка просто удалялась из коллекции Rows, а не помечалась к удалению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2006, 06:10
|
|||
|---|---|---|---|
|
|||
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
Действительно через метод Rows[index].Delete() получается :) Я же до этого использовал метод Rows.RemoveAt(index) и запеси удалялись безвозвратно. Sa, спасибо за наводку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.07.2006, 23:13
|
|||
|---|---|---|---|
|
|||
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
[....] пользуется UPDATE тем более во фреймворке 1.1. Используй хранимые процедуры для вставки, обновления или удаления. Это работает безотказно. ADO.NET вообще вещь медленная и честно говоря фигня это. Все эти прибамбасы приводят только к замедлению работы. А этот метод глюкавый, так что лучше его не вызывай. Модератор: Сообщение отредактировано. По меньше эмоций, давайте уважать других участников форума! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.07.2006, 01:30
|
|||
|---|---|---|---|
Не удаляются строки из БД, при Update() SqlDataAdapter'а |
|||
|
#18+
Tolya Используй хранимые процедуры для вставки, обновления или удаления. Это работает безотказно. не всегда ХП нужны, чтобы не привязываться жестко к поставщику СУБД. Все зависит от задачи автора, т.к. мы ее не знаем, ИМХО советы давать такие излишни опрометчиво. + про ХП уже обсуждалось на форуме. можно воспользоваться поиском. Tolya ADO.NET вообще вещь медленная и честно говоря фигня это. no comments, тем более на форуме, посвященной этой технологии. Tolya Все эти прибамбасы приводят только к замедлению работы. А этот метод глюкавый, так что лучше его не вызывай. а пример глюкавости можете привести? Насколько я понял речь идет про метод Delete ? Код: plaintext Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=17&mobile=1&tid=1353230]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 429ms |

| 0 / 0 |
