Date: 20.11.2019 9:14:28
У меня работает. Структура таблицы:
Код:
using System; using System.Data; using System.Data.OleDb; class Program { public static void Main() { string file = @"C:\Test\database1.mdb"; string p = "Microsoft.ACE.OLEDB.12.0"; string tablename = "Table1"; OleDbConnectionStringBuilder b = new OleDbConnectionStringBuilder(); b.Provider = p; b.DataSource = file; var constr = b.ConnectionString; OleDbConnection conn = new OleDbConnection(constr); using (conn) { conn.Open(); OleDbCommand cmd = new OleDbCommand("SELECT * FROM Table1", conn); OleDbDataReader rdr = cmd.ExecuteReader(); DataTable dt = new DataTable(); dt.Load(rdr); foreach (DataColumn column in dt.Columns) { if (column.DataType == typeof(String)) { string query = "UPDATE " + tablename + " SET [" + column.ColumnName + "] = Replace([" + column.ColumnName + "], \".\", \"\");"; using (cmd = new OleDbCommand(query, conn)) { int res = cmd.ExecuteNonQuery(); Console.WriteLine("Updated {0} records", res); } } } } Console.ReadKey(); } }Выполняется бeз ошибок, символ заменяется.
Что в вашем случае отличается? Провайдер ACE или Jet? Какие типы данных есть в таблице?
Автор: VadimTagil