2012-11-26 84 views
0

首先,我是最后一年的软件工程专业的学生。我们正在创建一个KPI软件。在那里,输入可以是CSV,txt,xml或excel。当用户将文件输入到软件中时,我们必须动态地为该特定文件创建一个表来存储数据。数据类型动态生成的表

我创建了一个“文件导入向导”来导入文件。现在问题在于创建表格。比方说,下面是我为.TXT

Name,Age,Address 
Shaun,22,NY 
Milan,21,Dexel RD 

在我已经标识的表(列)领域的向导,现在收到的数据文件是NameAgeAddress。但是当我动态创建表时,是否必须让用户设置每个字段的数据类型?

eg: Name - Text 
    Age - Numbers 
    Address - Text 

但是由于我们不知道表格可能有多少个字段,这将是一项非常艰巨的任务。

我已计划是把所有的数据存储为“为VarChar”。因为您知道,字符串可以轻松地转换回其他数据类型(数字,日期)。当用户想要显示图表中的数据

所以,我们可以在表中获取数据,并将其转换成需要的数据类型,并做neccasary计算。

什么是你的建议对此有何看法?请帮忙。

+2

*字符串可以很容易地转换回其他数据类型*我不同意这里。通常情况下,从数字到字符串的转换取决于本地设置(日期相同)。例如。在欧洲,我们大多使用dd/mm/yy作为日期格式,而在美国,mm/dd/yy是常用的格式。 – Robin

+0

我们使用dd/mm/yy。这是我猜测的唯一日期格式。哦,这是针对某个特定的公司,所以不需要以全局的方式思考:)。通常我们按照英国标准编号和日期/时间 –

+1

我仍然会说最好在您的数据库中使用正确的类型。您仍然可以提供用户界面来设置数据类型,但是已经基于尽力而为的猜测自动填充它 – Robin

回答

2

你的数据库应该包含数据 - 如果您的数据将像一个字符串(如字符串,显示为一个字符串,操纵作为字符串输入的)来处理把它作为一个字符串就可以了。另一方面,如果您将在某个时间以不同方式处理您的数据(例如,您想从日历中选择一个日期),那么在将数据放入数据库之前将其转换是有意义的。在这种情况下,如果你现在不转换它,你会在路上踢它,它会在以后引起更多的头痛。

如果您处于第二种情况,请考虑阅读文件头(也许是第一行),并为每行提供适用的选项(甚至可以实际采取最佳猜测)。这样用户可以最终确定应该上传什么样的数据。也许是这样的:

Name: • String 
     ◦ Number 
     ◦ Date 

Age: ◦ String 
     • Number 
     ◦ Date 

Address:• String 
     ◦ Number 
     ◦ Date 
+0

好的。非常感谢回复和示例:)。对此,我真的非常感激 :) –