Ответы с форумов MSDN

OleDB замена символа

Date: 20.11.2019 9:14:28

У меня работает. Структура таблицы:

access

Код:

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

Главная страница - Список тем - Репозиторий на GitHub