1

我正在使用 OLEDB 从 c# 更新 .dbf 数据库中的数据。

我在 ExecuteNonQuery 上收到错误:System.Data.OleDb.OleDbException {"Undefined function 'replace' in expression."}。

如何以最少的更改完成这项工作,我需要在许多文件中用单引号替换双引号,所以我必须自动化这个过程。

我应该为 .dbf 数据库尝试 ODBC 还是其他方式?

请帮忙!

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();
4

1 回答 1

1

使用的数据提供者不支持替换。如果以及当我发现如何在大型数据集上以快速简单的方式执行此操作时,我将更新答案。

于 2010-08-27T08:23:41.207 回答