1

C# から .dbf データベースのデータを更新するために OLEDB を使用しています。

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 に答える