2010-07-07 92 views
1

我正在使用OLEDB更新c#中.dbf数据库中的数据。从C#执行OLEDB更新时出错#

我得到错误:System.Data.OleDb.OleDbException {“Undefined function'在表达式中替换'。”} 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(); 
+0

“替换”功能是否正确?它应该是'替换'? – desigeek 2010-07-07 15:21:09

+0

'替换'和'替换'在结果中做了任何更改 – watbywbarif 2010-07-07 15:27:05

回答

1

替换不受使用的数据提供者支持。 我会更新答案,如果当我发现如何以快速和简单的方式在大型数据集上做到这一点。