Как сопоставить имя столбца в таблице и соответствующие имена в исходном файле

1

Я вставляю данные из листа excel в базу данных oracle.Excel-лист предоставляется клиентами. Я создал таблицу в базе данных. Структура и тип одинаковы между именем столбца excel и именем столбца таблицы, но имена столбцов различаются. Таким образом, в этом как я могу сопоставить имя столбца в таблице и имя столбца в excel при вставке данных, мне нужно создать xml файл и отобразить все значения или что-то другое? Для вставки я создал свою собственную ado.net dll.

Структура Excel показана ниже

Firstname     lastname         Age     Salary

ricky         martin          34       45000
Jensen       thomas           37       55000
Kiran        di               32       34000

Структура таблицы показана ниже

F_name     l_name            _age      _salary

Код, используемый для вставки в базу данных, показан ниже

Arraylist ar = new Arraylist();
ar.Add(new FormField(colname, rowvalue, 2));
                dal.CreateInsertQuery(ar, "table_name", out sql, ref ErrorMessage);
                dal.ExecuteNonQuery(sql, ref ErrorMessage, true);
Теги:
.net-4.5

1 ответ

1
Лучший ответ

Возможно, используйте Dictionary<String, String>, что-то вроде этого:

Dictionary <String, String> fieldMap = new Dictionary<String, String>();
fieldMap.Add(oldName1, newName1);
fieldMap.Add(oldName2, newName2);
//etc.

Затем вы делаете что-то подобное, добавляя в массив, вы можете отобразить поле во время добавления вызова.

ar.Add(new FormField(fieldMap[colname], rowvalue, 2)); 

где fieldMap[colname] возвращает "новое имя" для colname.

  • 0
    позвольте мне попробовать этот путь
  • 0
    это может сделать для одного листа, может быть, как Automapper, но если клиенты меняют имена время от времени, у нас есть общее исправление?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню