2011-09-12 36 views
2

我正在開發使用C#的Windows項目。我必須將文本文件記錄導入到sqlserver 2005 db。 我的問題是 我想使用學生Idno從文​​本文件中讀取記錄。如何獲取基於鍵值的文本文件中輸入的記錄

我有一個想法,從文本文件中使用正在查找學號:1001值的字符串讀取確切值。 我想根據特定的學生閱讀每個學生的記錄嗎?不適用於1001

所以我想要根據學生號碼讀取特定記錄的代號爲 我的選擇。 PLZ幫我.......這樣

 
     |-----------------------------------------------| 
     |   student no:1001     | 
     |   address:ongole,A.P,     | 
     |   hyderabad,india.     | 
     | ----------------------------------------------| 
     | stdid stdname class      | 
     | 1  raheem mca       | 
     | 2  sudheer mca       | 
     | ----------------------------------------------| 
     | student no:1001        | 
     | address:ongole,A.P,       | 
     |   hyderabad,india.     | 
    -|-------------------------------------------- | 
     | stdid stdname class      | 
     | 1  raheem mca       | 
     | 2  sudheer mca       | 
     | ----------------------------------------------| 
     |  student no:1002       | 
     | address:ongole,A.P,       | 
     |   hyderabad,india.     | 
     ------------------------------------------------|- 
     |  student no:1003       | 
     | address:ongole,A.P,       | 
     |   hyderabad,india.     | 
    -|---------------------------------------------- | 

我的文本文件我的代碼是

private void BtnImpstrm_Click(object sender, EventArgs e) 
     { 
      openFileDialog1.ShowDialog(); 
      string f = openFileDialog1.FileName; 
      StreamReader sr = new StreamReader(f); 
      string s = sr.ReadToEnd(); 
      MessageBox.Show(s); 
      sr.Close(); 
      str =s.Split('\n'); 
      for (int i = 0; i < str.Length; i++) 
      { 
       if (str[i].ToString().Trim().ToUpper().Contains("Student NO : 1001")) 
       { 
        string[] words = str[i].Split(' '); 
        string output = words[word no].ToString().Trim(); 
        string rec1 =str[line no].ToString().Trim(); 
        string rec2 = str[line no].ToString().Trim(); 
        MessageBox.Show(output); 
        MessageBox.Show(rec1); 
        MessageBox.Show(rec2); 

       } 
      } 

     } 
+1

爲什麼你總是在循環中使用'str [6]'和'str [7]'? –

+1

我看不到問題。 – Amy

+0

你是生成文本文件格式的人嗎? –

回答

0

我認爲最好的辦法是使用的StreamReader讀取線如果您遇到「學生...」或類似的東西,請閱讀下面的7行來完成您的記錄。做完這些之後,您將獲得一組字符串,每個字符串都是文件中的唯一記錄。

然後,您可以通過分割Environment.NewLine上的字符串來分別解析每條記錄。

相關問題