Вставить данные в таблицу Excel с помощью OLEDb - PullRequest
0 голосов
/ 24 января 2020

Мой код выглядит как

    using System.Data.OleDb;


    namespace ConsoleApplication21
    {
        class Program
        {
            static void Main(string[] args)
            {
                string constr2 = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\productivity\temp.xlsx;Extended Properties='Excel 8.0;HDR=no'";

            OleDbConnection conn = new OleDbConnection(constr2);
            conn.Open();

            OleDbCommand INSERTcommand = new OleDbCommand();
            INSERTcommand.Connection = conn;
            INSERTcommand.CommandText = "create table [table3] (id INT, name VARCHAR, datecol DATE);";
            INSERTcommand.ExecuteNonQuery();

            OleDbCommand INSERTDATA = new OleDbCommand();
            INSERTDATA.Connection = conn;
            INSERTDATA.CommandText = "INSERT INTO [table3] (id,name,datecol) values (1,'aaaa','25-01-2012');";
            INSERTDATA.ExecuteNonQuery();

        }
    }
}

После выполнения вышеуказанного кода появляется исключение:

Оператор INSERT INTO содержит следующее неизвестное имя поля: 'id'. Убедитесь, что вы правильно ввели имя, и повторите операцию.

1 Ответ

0 голосов
/ 30 января 2020

, если вы опускаете спецификации столбца при вставке, он работает нормально:

INSERTDATA.CommandText = "INSERT INTO [table3] values (1,'aaaa','25-01-2012');";

...