Ошибка синтаксиса в инструкции UPDATE (C#) #335215


#0 by Дуб
Туплю.. Не могу ничего поделать. Пытаюсь внести изменения в одну из таблиц *.mdb файла. При выполнении команды Update вываливается с ошибкой (название темы). Всего пять таблиц использую. Четыре из них нормально жрут и Insert и Update команды, а вот одна упёрлась и всё..                t_dbConn_s = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Admin;" + @"data source = " + LocDir + "\Sprav.mdb");                OleDbDataAdapter DA_doc_s = new OleDbDataAdapter;                DA_doc_s.InsertCommand = new OleDbCommand(@"INSERT INTO [SDocum] ([IDDoc],[IDNom],[Kol],[Sum]) VALUES (@IDDoc, @IDNom, @Kol, @Sum)", t_dbConn_s);                DA_doc_s.UpdateCommand = new OleDbCommand(@"UPDATE SDocum SET IDDoc=@IDDoc,IDNom=@IDNom,Kol=@Kol,Sum=@Sum WHERE IDDoc=@IDDoc", t_dbConn_s); Поля маплю руками. Для Insert и для Update параметры задаю одинаково. E; не знаю, куда ещё смотреть.. Думал, типы полей не соответствуют (даже менять пробовал - бесполезно), но ведь при Insert-то прокатывает нормально... Я в шоке...
#1 by shuhard
>Я в шоке открыть Access и написать Update руками весна не позволяет ?
#2 by Дуб
для ВСЕХ таблиц работает!.. Кроме долбаной SDocum.. Стоп! А при чём здесь "руками"? Текст команды, думаешь?
#3 by shuhard
скопируй mdb и руками построй UPDATE, причины может много: - синтаксис - формат данных - внешние ключи диагностика Access на порядок шире того, что ты сейчас видишь.
#4 by Дуб
бл.. один х, в шоке я.. Тем более - аксеса под рукой нет.. Работаю исключительно по OleDB.. Самое обидное - ведь есть-же она, эта ошибка.. И почти стопудово - в типизации полей.. А за совет - спасибо.
#5 by shuhard
1) делов то , удали из mdb содержательную часть, сархивируй и выложи, кто-нибудь поможет. Без Access время убьешь до фига. 2) сделай Update одному полю и локализуй "бяку"
#6 by Дуб
О! Насчёт одного поля - интересная мысля.. Попробую..
#7 by Masquerade
...SET IDDoc=@IDDoc WHERE IDDoc=@IDDoc... Меня вот этот момент смущает. Кажется это в ORACLE называется мутированием таблиц..
#8 by Дуб
согласен. Это можно опустить, хотя, повторюсь, во всех остальных таблицах конструкция работает
#9 by Masquerade
Но только не в UPDATE.
#10 by Дуб
Ну да.. Убрал из Update поле Sum - сразу всё попёрло.. Может у меня запрет нулевых значений был, а здесь оно как раз нулевое?.. Спасибо всем за поддержку! Собственно, помогла мысль /п.2
#11 by shuhard
мой расчетный счет и такса не изменились.
#12 by Дуб
натурой отдам (не своей, как обычно)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С