2013-02-13 72 views
1

我正在使用Visual Studio學習C#,並遇到一些問題。使用Settings.settings或SQL數據庫?

我正在開發一個Windows窗體應用程序。該應用程序旨在跟蹤用戶的運行狀態。

在設置:他們選擇他們運行多少天,並且他們每天增加他們的鍛鍊(即:1:100米衝刺2:50米衝刺3:跑一英里)。

然後在主窗口窗體中,用戶將能夠添加他們的時間並保存它。同時,圖表會預測他們的時間 - 這將允許用戶跟蹤他們的進度。

我的問題是我應該在哪裏存儲他們的時間?現在我將所有設置存儲在settings.settings文檔中。對於我應該使用設置文件或某種SQL數據庫的時間?

回答

1

SqlCESQLite或任何其他簡單的inproc數據庫將比設置文件更好。

設置並不意味着隨着每個用戶輸入而增長,這是數據庫的一項任務,使用SQL查詢數據也會容易得多。

回答在評論你的問題:

用戶數據用戶偏好之間的差異。你必須決定你的應用中的內容。

我會與設置文件一起去用戶偏好。如表單佈局,顏色,聲音,窗口大小等。

由於設置管理框架非常複雜,您可以節省一些時間爲用戶首選項設計表並開發對錶的訪問。

設置文件的另一個可能的亮點 - 它可以用文本編輯器手動編輯。

+0

非常感謝。我想我知道現在應該去哪裏。 – 40Alpha 2013-02-13 18:54:47

1

如果沒有關於「用戶的運行狀態」是什麼以及如何使用它的更多信息,則無法回答您。不過,我可以給出一些通用的指導方針。

System.Configuration.ApplicationSettings設計用於爲特定用戶定製應用程序;例如,用戶希望應用程序使用哪種語言,他希望顯示窗口的位置或默認值。設置是應用程序的一部分;它們是在安裝應用程序時創建的,當應用程序卸載時會被刪除。如果多個用戶運行應用程序,則每個用戶通常都會獲得自己的設置您通常在創建應用程序時定義設置,並且用戶永遠不會添加或刪除它們。

數據庫用於保存用戶數據。它們通常不與特定用戶或應用程序綁定;用戶添加可用於其他用戶或應用程序的數據。應用程序通常不會與所有用戶數據一起安裝,也不會在卸載應用程序時刪除用戶數據。

SQL數據庫用於關係數據;具有內部結構的數據,如「所有用戶必須只有一個地址」,或「任何用戶可能有零個或多個電話號碼」。如果您的數據不是關係數據庫,則不需要關係數據庫。

這些是一般準則,特定應用程序可能會爲特定目的做不同的事情。如果您告訴我們關於您的應用程序的更多信息,我們將能夠提供更具體的信息。