2016-08-01 8 views
0

私は現在、CSV to SQL Converterに関するいくつかの問題を抱えています。 C#を学ぶのは3週間目ですが、私はいくつかのものをつかむようになっていますが、これは私の頭をちょっと上回ります。CSV To SQL Converter

私がしようとしているのは、最上位の行/タイトルを個々のタイトルに分割してから、それを手動で入力するのではなく、SQLコードで分割することです。下に、私がこれまで構築してきたコードのいくつかを見ることができます。

private void Form1_Load(object sender, EventArgs e) 
    { 
     try 
     { 
      // your code here 
      string CSVFilePathName = @"C:\\CSV\\reg.csv"; 
      string[] Lines = File.ReadAllLines(CSVFilePathName); 
      string[] Fields; 
      //1st row must be column names; force lower case to ensure matching later on. 
      // get regs from filename 
      // get fieldnames from Lines[0] (first line of file) 
      // create a loop for fields array 
      string hdr = Lines[0]; 
      for (int i = 1; i < Lines.Length; i++) 
      { 
       Fields = Lines[i].Split(new char[] { ',' }); 
       CSVTextBox.AppendText(Fields[0] + "," + Fields[1] + "," + Fields[2] + "," + Fields[3] + Environment.NewLine); 
       // need a for loop for each field 
       // for (
            SQLTextBox.AppendText("INSERT INTO[dbo].[REGS]([SESTYPE],[REG],[LFL],[SUBVER]) VALUES('" + Fields[3] + "'" + Fields[0] + "'" + Fields[1] + "'" + Fields[2] + ")" + Environment.NewLine); 
       //  } 
      } 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Error is " + ex.ToString()); 
      throw; 
     } 

    } 

これはすべて現時点で実行されていますが、私はタイトルをコードの一部にするのに苦労しています。どんな助けもありがとう。

乾杯、

答えて

1

最初に:try catchを取り外します。例外が発生した場合は、読んで理解し、クリアする必要があります。 SQLTextBoxの場合:String.Format関数を使用することをお勧めします。これにより、異なる値の文字列を作成できますが、読みやすくなります。

タイトルの場合:変数を使用hdrこれはタイトルを含む必要があります。次に、区切り文字に応じてstring.Split( '、')またはstring.Split( ';')で分割できます