C# получить ID обновлённой записи в MS ACCESS

174
17 февраля 2018, 20:08

Нужно в приложении на c# получить ID только что обновлённой записи в MS Access, т.к. потом этот ID будет использоваться в других таблицах. БД создана в MS Access 2007. Пытаюсь сделать так:

string root_query = "UPDATE root_tasks SET s_process_time=@s_process_time, s_time_left=@s_time_left OUTPUT INSERTED.ID WHERE s_task_name=@s_task_name";
cmd.Parameters.AddRange(new OleDbParameter[]
                    {
                        new OleDbParameter("@s_process_time", time),
                        new OleDbParameter("@s_time_left", time_left),
                        new OleDbParameter("@s_task_name", node.Name)
                    });
int root_id = 0;
using (var reader = cmd.ExecuteReader())
{
    while (reader.Read())
    {
        root_id = (int)reader["ID"];
    }
}

Но при попытке выполнить запрос вылетает исключение

System.Data.OleDb.OleDbException (0x80040E14): Ошибка синтаксиса (пропущен оператор) в выражении запроса '@s_time_left OUTPUT INSERTED.ID'.

Подскажите, что не так в синтаксисе запроса и как это исправть?

READ ALSO
Квартал в DateTimePicker

Квартал в DateTimePicker

Как добавить квартал в DateTimePicker?

130
VS 2015 Юнит-Тесты. Время выполнения увеличилось в 20 раз

VS 2015 Юнит-Тесты. Время выполнения увеличилось в 20 раз

Проблема с VS 2015Со вчерашнего дня время на выполнение 350 юнит-тестов проекта на моей машине увеличилось с 2 до 40 минут

151
Получить блок со стороннего сайта, зная удаленный class/id блока

Получить блок со стороннего сайта, зная удаленный class/id блока

Необходимо загрузить конкретную часть/блок/элемент со стороннего сайтаСайт: https://www

218