我正在从excel表中插入数据到oracle数据库。客户提供表。我在database.I中创建了一个表.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);
答案 0 :(得分: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]
返回&#34;新名称&#34; colname
。