2016-12-30 10 views
0

メッセージのデータはすべて表示されていますが、dbをチェックするとデータは挿入されません。iexceldatareaderを使用してExcelファイルからExcelのcsharpをインポートできません

データベース名は、VARCHARとしてINT主キー、名前として2つのフィールドのみIDを有するデモである(50)

私はExcelがないヘッダを持つファイルと3行

 openFileDialog1.Filter = "Excel Files |*.xlsx"; 

     if (openFileDialog1.ShowDialog() == DialogResult.Cancel) 
      return; 

     FileStream fs = new FileStream(openFileDialog1.FileName, FileMode.Open); 
     IExcelDataReader ed = ExcelReaderFactory.CreateOpenXmlReader(fs); 
     DataSet result = ed.AsDataSet(); 
     DataClasses1DataContext con = new DataClasses1DataContext(); 
     foreach (DataTable table in result.Tables) 
     { 
      foreach (DataRow dr in table.Rows) 
      { 

       demo addTable = new demo() 

       { 


         Id=Convert.ToInt32(dr[0]), 
         name=Convert.ToString(dr[1]) 



       }; 


       con.demos.InsertOnSubmit(addTable); 


      } 
     } 

     con.SubmitChanges(); 
     ed.Close(); 
     fs.Close(); 
     MessageBox.Show("Data Inserted "); 
で2つのCOLS有します

すべて正常に動作していますが、メッセージデータが挿入されたことを示していますが、dbをチェックするとデータが挿入されませんでした。

データベース名がint主キー、VARCHAR(50)のような名前として2つのフィールドIDのみ

を有するデモである私は、Excelはないヘッダを持つファイルと3行

答えて

0

で2 COLSこれを試してみます。

 con.demos.Add(emp); 


     con.demos.SaveChanges(); 
     ed.Close(); 
     fs.Close(); 
     MessageBox.Show("Data Inserted "); 
+0

いいえ追加方法があります –

+0

EFを使用していませんか? – Mehmet

関連する問題