2012-11-26 83 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

好的。非常感謝回覆和示例:)。對此,我真的非常感激 :) –