У меня есть набор данных, который динамически создается из файла CSV. Я хочу вставить строки в таблицу MS Access, но не могу понять, с чего начать.
Заголовки данных в наборе данных могут различаться в зависимости от порядка, но имя заголовка всегда будет соответствовать базе данных доступа. Нужно ли статически вызывать имя заголовка в команде вставки или я могу построить заголовки из набора данных?
Я знаю, как создать соединение и открыть его для базы данных, но не уверен, как создать команду вставки для динамического извлечения заголовков таблицы.
Я довольно зеленый, когда речь заходит о программировании на C #, так что если вы можете объяснить это мне, я был бы очень признателен!
Вот пример заголовков таблицы доступа:
ID, пункт, стоимость, розничная торговля
Тогда CSV, который будет заполнять таблицу наборов данных. У него может быть Retail или нет:
Товар, стоимость
Вот код, который у меня есть, но он не записывается в таблицу доступа. Если я прошью dtAccess, он будет отображаться правильно.
OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\"C:\\Database.accdb\";Persist Security Info=False;");
myConnection.Open();
string queryString = "SELECT * from " + lblTable.Text;
OleDbDataAdapter adapter = new OleDbDataAdapter(queryString, myConnection);
DataTable dtAccess = new DataTable();
DataTable dtCSV = new DataTable();
dtCSV = ds.Tables[0];
using (new OleDbCommandBuilder(adapter))
{
adapter.Fill(dtAccess);
dtAccess.Merge(dtCSV);
adapter.Update(dtAccess);
}
myConnection.Close();