Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
S33ker
0 / 0 / 0
Регистрация: 01.10.2010
Сообщений: 2
1

Ошибка при вставке данных в Access

04.10.2010, 22:32. Просмотров 727. Ответов 3
Метки нет (Все метки)

Имеется база данных на Access. В нескольких таблицах имеется столбец Year. Для работы с базой создается следующий адаптер:
C#
1
2
3
4
5
6
7
8
9
 OleDbDataAdapter adapterMain = new OleDbDataAdapter("SELECT * FROM "+tableName + " WHERE TutorID = @tID and Year = @Year",connectionMain);
                adapterMain.SelectCommand.Parameters.Add("@tID", OleDbType.Integer);
                adapterMain.SelectCommand.Parameters["@tID"].Value = tutorID;
                adapterMain.SelectCommand.Parameters.Add("@Year", OleDbType.Integer);
                adapterMain.SelectCommand.Parameters["@Year"].Value = year;
                OleDbCommandBuilder builder = new OleDbCommandBuilder(adapterMain);
                adapterMain.UpdateCommand = builder.GetUpdateCommand();
                adapterMain.DeleteCommand = builder.GetDeleteCommand();
                adapterMain.InsertCommand = builder.GetInsertCommand();
Соответственно, для одной из таблиц генерируется следующая InsertCommand:
T-SQL
1
INSERT INTO Course (TutorID, LessonID, PlanI, FactI, PlanII, FactII, Inform, Year) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
При попытке сделать Update выдается ошибка "Ошибка в синтаксисе INSERT INTO". Насколько я понимаю, это из-за того, что название столбца Year воспринимается как название функции, или что-то в этом роде.
Изменить названия столбцов в базе не представляется возможным. Как решить данную проблему?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2010, 22:32
Ответы с готовыми решениями:

Ошибка при вставке значения
Всем привет! При каждой попытке выполнить код происходить необр. исключение на строке...

Ошибка при внесении данных в Access
Необработанное исключение типа "System.Data.OleDb.OleDbException" в Session.dll Дополнительные...

Ошибка при записи данных в Access
Вроде все сделал правильно, но почему-то работать не хочет. Validate();...

linq to sql - Ошибка при вставке
есть метод для вставки: public void InsertCart(Cart cart) { Table<Cart> newCart =...

Непонятное исключение при вставке в базу данных
Проблема заключается в следующем, вылазит при попытке вставки в БД, используя MS SQL 2008 Express,...

3
XIST
1125 / 837 / 116
Регистрация: 01.10.2009
Сообщений: 2,544
Записей в блоге: 1
05.10.2010, 07:57 2
Вот так попробуй
SQL
1
INSERT INTO 'Course' ('TutorID', 'LessonID', 'PlanI', 'FactI', 'PlanII', 'FactII', 'Inform', 'YEAR') VALUES (?, ?, ?, ?, ?, ?, ?, ?)
0
Ivan___
55 / 55 / 11
Регистрация: 21.07.2009
Сообщений: 79
05.10.2010, 09:30 3
Вот так будет правильно
SQL
1
INSERT INTO Course (TutorID, LessonID, PlanI, FactI, PlanII, FactII, Inform, [YEAR]) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
0
S33ker
0 / 0 / 0
Регистрация: 01.10.2010
Сообщений: 2
05.10.2010, 10:51 4
Вот казалось бы да. Сделал я простой Replace:
C#
1
adapterMain.InsertCommand.CommandText = adapterMain.InsertCommand.CommandText.Replace("Year", "[YEAR]");
После этого текст команды приобрел правильный вид.
Однако при попытке сделать Update вновь выбрасывается ошибка, а текст команды возвращается к первоначальному состоянию - без квадратных скобок.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2010, 10:51

Ошибка при попытке обновлении данных таблицы Access
Есть большая таблица с данными по приборам. Она загружается в датагрид. Но при попытке сохранения...

Ошибка несоответствия типов данных при удалении из Access
При попытке удалить поля возникает ошибка несоответствия типов данных в выражении условия отбора. ...

DateTimePicker1 при вставке в Sql запрос выходит ошибка
при выборе даты (в основном) выходит ошибка. Видимо ошибка с форматом даты, но не пойму где. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru