Приветствую вас, великие товарищи;
Я пытаюсь использовать этот код для внесения изменений в базу данных SQL Server:
adapter = new OleDbDataAdapter(
Db.GetRecordSql(table.Name, recordId), Db.Connection);
OleDbCommandBuilder cmd = new OleDbCommandBuilder(adapter);
DataSet ds = new DataSet();
adapter.Fill(ds);
Затем, при сохранении изменений, внесенных в DataRow
:
adapter.Update(new DataRow[] { row });
Это работает именно так, как я хочу, чтобы это работало.Все операции с БД очень просты, и приложение поддерживает несколько форматов баз данных, поэтому этот метод подходит для этой задачи.
Моя проблема заключается в том, что этот метод завершается ошибкой, когда строка содержит столбец с @
войдите в его имя.Схема базы данных использует префиксы имен столбцов со знаком @
для обозначения личных метаданных, таких как даты создания / изменения и контрольные суммы.
Когда имя столбца содержит знак @
, метод Update
вызываетOleDbException
:
Должен объявлять скалярную переменную @ create
Отлично.И что теперь?
Серьезно, я погуглил эту штуку до смерти.Я знаю, что немного необычно включать символ @
в название столбца, но это рука, с которой мне раздали.
Есть идеи?Довольно пожалуйста?:)