2010-12-10 79 views
-1

我需要創建一個應用程序,允許學生本身鍵入他的用戶名,管理員號碼和性別。(1)如何保存用戶鍵入的數據收集(2)教師的學生的所有數據以搜索學生的信息? 這個程序是要用c#寫的。謝謝如何將信息保存在c#

+3

試過了什麼? – BoltClock 2010-12-10 01:15:37

+0

你的意思是像堅持到數據庫? – 2010-12-10 01:21:33

+0

C#也有很棒的XML支持。序列化一個類真的很容易。即獲取一個類,並將其所有屬性存儲在一個xml文件中。通過使用XmlAttribute,XmlArray,XmlArrayItem和XmlRoot等標籤,您可以使.Net通過將數據保存到Xml並重新加載,爲您做所有繁重的工作。 – Liz 2010-12-10 01:26:06

回答

0

讓你的生活變得輕鬆!使用文本文件並以逗號分隔值(CSV)格式保存數據。

field1,field2,field3,field4 
2

如果通過「保存」您的意思是讀取/寫入磁盤,有幾種方法可以做到這一點。

  1. 你可以使用一個平面文件,讀,寫各條目在文件中的文本行,這個你可以使用的StreamReader和StreamWriter,和你需要一個分隔符(如逗號分隔之間的字段(用戶名,管理員號,性別)。String.Split和String.Join(或String.Format)將在這裏有用。該方法的缺點是效率低下,如果你有很多數字字段,你必須注意你的字符串字段中的分隔符字符
  2. 你可以使用二進制文件,這是一個更先進的,你會使用BinaryReader/BinaryWriter,你必須考慮有點文件佈局更難。我不打算進去。
  3. 您可以使用對象序列化框架。換句話說,每個條目都被表示爲一個Object,並且該Object符合一些序列化接口。請參閱IXmlSerializable,XmlSerializer類和相關代碼屬性([XmlType],[XmlAttribute]等)或[Serializable]代碼屬性和BinaryFormatter類。其中一些框架有點老舊笨重,而且這種方法似乎對您的家庭作業有點重要。
  4. 您可以使用數據庫,如Microsoft SQL,ADO.Net或SqlConnection/SqlReader等本機庫。這需要了解數據庫,而這些數據庫可能還沒有,並且也會因爲此任務而過度使用數據庫。

底線,您可能會將數據保存爲文本文件並使用StreamReader/StreamWriter。

對於搜索,由於這只是一項家庭作業,您應該從文件中讀取每一行,併爲「老師」輸入的任何術語或術語執行一個String.Contains,然後將所有匹配的行打印出來。

作爲一個方面說明,你是如何完全不知道從哪裏開始這項任務?你是否通過課堂入睡,或者你聽不懂教師說的一個字?

0

我沒有足夠的代表尚未對保羅的帖子發表評論,但如果你決定去SQL路線,看看的SQLite 。它非常乾淨,它有C# wrappers,它是像你這樣的項目的合適規模。

這就是說,對於這個項目,你真的可能想要一個分隔的平面文件。

祝你好運!