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