2017-06-21 13 views
0

を使用した:私は、ファイルを操作する必要があります:XLSファイル データグリッド - 私がコーディングされている「ヘッダーテキスト」または「設計名」

  • は、CSV(理由にトランスフォーム読む

    • ロット)
    をDBへのデータグリッドをアップロードして、データグリッド
  • を移入するためにCSVを使用して、ヘッダー(CSVの最初の行)
  • を作成します。

    問題: - 私はいつも "デザイン名"を使用してDBにアップロードしました。例えば:

    for (int i = 0; i < DgridManuallyReceive.Rows.Count - 1; i++) 
           { 
           str = @"INSERT INTO TBL_MATRIX_CONTROL (A1 
                     A2 
                     A3 
                     A4 
                     A5 
                     A5 
                     A6 
                     A7 
                     A8 
                     A9 
                     A10 
                     A11 
                     A12 
                     A13 
                     ('" + 
                     DgridManuallyReceive.Rows[i].Cells["A1"].Value + "', '" + 
                     DgridManuallyReceive.Rows[i].Cells["A2"].Value + "', '" + 
                     DgridManuallyReceive.Rows[i].Cells["A3"].Value + "', '" + 
                     DgridManuallyReceive.Rows[i].Cells["A4"].Value + "', '" + 
                     DgridManuallyReceive.Rows[i].Cells["A5"].Value + "', '" + 
                     DgridManuallyReceive.Rows[i].Cells["A6"].Value + "', '" + 
                     DgridManuallyReceive.Rows[i].Cells["A7"].Value + "', '" + 
                     DgridManuallyReceive.Rows[i].Cells["A8"].Value + "', '" + 
                     DgridManuallyReceive.Rows[i].Cells["A9"].Value + "', '" + 
                     DgridManuallyReceive.Rows[i].Cells["A10"].Value + "', '" + 
                     DgridManuallyReceive.Rows[i].Cells["A11"].Value + "', '" + 
                     DgridManuallyReceive.Rows[i].Cells["A12"].Value + "', '" + 
                     id_tbl_program 
                     + "');"; 
    

    "DgridManuallyReceive.Rows [I] .Cells [" A1 "]。値は" DataGridlの "内部" 名前を指します。

    質問:

    • 私が発見し、私のDataGridのヘッダーが「自動」に作成されている場合は、これらの「内部」の名前を使用するにはどうすればよいですか?データグリッドを移入するコードの

    パート:

    private void BindDataCSV(string filePath) 
    { 
        DataTable dt = new DataTable(); 
        string[] lines = System.IO.File.ReadAllLines(filePath); 
        if (lines.Length > 0) 
        { 
    
         // first line to create header 
         string firstLine = lines[0]; 
         string[] headerLabels = firstLine.Split(','); 
         //string[] headerLabels = new string[] { dataGridView1.Columns[0].HeaderText }; 
         //string[] headerLabels = {"TestGroup" }; 
    
    
    
    
         foreach (string headerWord in headerLabels) 
         { 
          dt.Columns.Add(new DataColumn(headerWord)); 
         } 
    
         // for data 
    
         for (int r = 1; r < lines.Length; r++) 
         { 
          string[] dataWords = lines[r].Split(','); 
          DataRow dr = dt.NewRow(); 
          int columnIndex = 0; 
          foreach (string headerWord in headerLabels) 
          { 
    
           dr[headerWord] = dataWords[columnIndex++]; 
          } 
    
          dt.Rows.Add(dr); 
    
         } 
    
    
        } 
    
        if (dt.Rows.Count > 0) 
        { dataGridView1.DataSource = dt; } 
    
    } 
    

    が私のCSVの最初の行は、私のDataGridのヘッダーになります。しかし、私はこれらの名前は必要ありません、代わりに、私はDBにアップロードするフィールドの内部名が必要です。

    What do I mean with "Design name" and "Header name"

  • +0

    SQLインジェクションに注意してください – Alejandro

    答えて

    0

    私はどちらかの名前を使用して、私の問題を解決することができました。つまり、この場合、「ヘッダ名」を使用できます。コードはDBに認識してアップロードします。

    関連する問題