c# - How to import Excel file to Database ADO.net -


i tried write code import excel file database using c# , ado.net got code run output wrong.

using excel; using system.io;  namespace expperson {     public partial class form2 : form     {         public form2()         {             initializecomponent();         }          private void btnimport_click(object sender, eventargs e)         {             try             {                 openfiledialog op = new openfiledialog();                 op.filter = "excel workbook| *.xls;*.xlsx;*.xlsm";                 if (op.showdialog() == dialogresult.cancel)                     return;                 filestream stream = new filestream(op.filename, filemode.open);                 iexceldatareader excelreader = excelreaderfactory.createopenxmlreader(stream);                 dataset result = excelreader.asdataset();                  maamoonkhalidissueentities db = new maamoonkhalidissueentities();                     foreach (datatable table in result.tables)                     {                         foreach (datarow dr in table.rows)                         {                             person addtable = new person()                             {                                 nname = convert.tostring(dr[0]),                                 ncode = convert.tostring(dr[1]),                                 ntel1 = convert.tostring(dr[2]),                                 ntel2 = convert.tostring(dr[3]),                                 nfax = convert.tostring(dr[4]),                                 nemail = convert.tostring(dr[5]),                                 nadd = convert.tostring(dr[6])                             };                         }                    }                 db.savechanges();                 excelreader.close();                 stream.close();                  messagebox.show("import sucess","good",messageboxbuttons.ok,messageboxicon.hand);             }               catch (exception ex)             {                 messagebox.show(ex.message, "message", messageboxbuttons.ok, messageboxicon.error);             }         }     } } 

but there issue code runs without errors data in database isn't right , can't figure out wrong.

you need call db.people.add(addtable); on each iteration of datarow loop.

so:

foreach (datarow dr in table.rows) {     person addtable = new person()     {         nname = convert.tostring(dr[0]),         ncode = convert.tostring(dr[1]),         ntel1 = convert.tostring(dr[2]),         ntel2 = convert.tostring(dr[3]),         nfax = convert.tostring(dr[4]),         nemail = convert.tostring(dr[5]),         nadd = convert.tostring(dr[6])     };     db.people.add(addtable) } 

otherwise, entity framework doesn't know want them inserted database.


Comments

Popular posts from this blog

PHP and MySQL WP -

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

go - golang pprof for c library code -