Ошибка при выполнении обновления через OLEDB из C # - PullRequest
1 голос
/ 07 июля 2010

Я использую OLEDB для обновления данных в базе данных .dbf из c #.

Я получаю сообщение об ошибке: System.Data.OleDb.OleDbException {"Неопределенная функция 'replace' в выражении."} В ExecuteNonQuery.

Как я могу сделать эту работу с наименьшими изменениями, мне нужно заменить двойные кавычки одинарными кавычками во многих файлах, поэтому я должен автоматизировать этот процесс.

Должен ли я попробовать ODBC или что-то еще дляБаза данных .dbf?

Помогите пожалуйста!

string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + directory +";Extended Properties=dBASE III;";
OleDbConnection conn = new OleDbConnection(connString);
conn.Open();
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "update Addres_1  set NAME_ENU = replace(NAME_ENU, 'a',   'b') where NAME_ENU like '*a*'";
int res = cmd.ExecuteNonQuery();

1 Ответ

1 голос
/ 27 августа 2010

Замена не поддерживается используемым поставщиком данных. Я обновлю ответ, если и когда узнаю, как это сделать быстро и просто на большом наборе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...