sql server 2008 - Insert multiple rows in SQL as sqlparameter -
i got 1000 rows in data-table dt , want insert data sql table in 1 shot.i know how loop..but wonder there other better way rows datatbase in single shot. current code insert data this
datatable dt = result.tables[0]; sqlhelper.executescalar(globalsettings.dbdsn, commandtype.text, "insert tbl_projects (project,owner,consultant ,contractor,value ,level1,level2 ,status ,country ,createddate ,createdbyid ,createdbyname) values (@project,@owner,@consultant ,@contractor,@value ,@level1,@level2 ,@status ,@country ,@createddate ,@createdbyid ,@createdbyname)", new sqlparameter("@project",dt.rows[0].itemarray[0]), new sqlparameter("@owner", dt.rows[0].itemarray[1]), new sqlparameter("@consultant", dt.rows[0].itemarray[2]), new sqlparameter("@contractor", dt.rows[0].itemarray[3]), new sqlparameter("@value", dt.rows[0].itemarray[4]), new sqlparameter("@level1", dt.rows[0].itemarray[5]), new sqlparameter("@level2", dt.rows[0].itemarray[6]), new sqlparameter("@status", dt.rows[0].itemarray[7]), new sqlparameter("@country", dt.rows[0].itemarray[8]), new sqlparameter("@createddate", system.datetime.now), new sqlparameter("@createdbyid", ""), new sqlparameter("@createdbyname", "")); can 1 give me hand on this..
you can leveraging sqlbulkcopy class. in short, sqlconnection created , opened , use code copy in bulk datatable server.
using (sqlbulkcopy bulkcopy = new sqlbulkcopy(sqlconn)) { bulkcopy.destinationtablename = "tbl_projects"; bulkcopy.writetoserver(dt); }
Comments
Post a Comment