У меня возникают трудности с вставкой строк в существующий объект таблицы. Вот мой фрагмент кода:
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @"C:\myExcelFile.xlsx" + ";Extended Properties=\"Excel 12.0;ReadOnly=False;HDR=Yes;\"";
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
string insertQuery = String.Format("Insert into [{0}$] (ID, Title,NTV_DB, Type ) values(7959, 8,'e','Type1')", TabDisplayName);
cmd.CommandText = insertQuery;
cmd.ExecuteNonQuery();
cmd = null;
conn.Close();
}
В результате я получаю свои строки, вставленные под готовым табличным объектом:
Я также попытался вставить данные внутри объекта таблицы следующим образом:
string insertQuery = String.Format("Insert into [{0}$].[MyTable] (ID, Title,NTV_DB, Type ) values(7959, 8,'e','Type1')", TabDisplayName);
Но я получаю сообщение об ошибке:
Механизм базы данных Microsoft Access не смог найти объект "MyTable". Убедитесь, что объект существует, и вы правильно назовете его имя и имя пути. Если "MyTable" не является локальным объектом, проверьте сетевое подключение или обратитесь к администратору сервера.
Как вы можете видеть, таблица с именем MyTable
существует. Я был бы очень благодарен, если кто-то может пролить свет на эту тайну.