c# - Datatable Addition to Dataset exception -
dataset ds = dal.getdata(); dataset dsinvitee = null; datatable dt = ds.tables[0].copy(); ienumerable<datarow> q1 = dt.asenumerable().skip(5).take(10); dsinvitee = new dataset(); datatable dtnew = new datatable(); dtnew.tablename = "dtinv"; dtnew = q1.copytodatatable<datarow>(); dsinvitee.tables.add(dtnew.copy()); dsinvitee.acceptchanges(); dtnew = null; dtnew = new datatable(); dtnew.tablename = "dttags"; dtnew = ds.tables[1].copy(); dsinvitee.tables.add(dtnew.copy());
i getting error in last line "a datatable named 'table1' belongs dataset."... please help.
your issue because of line dtnew = q1.copytodatatable<datarow>();
, because copytodatatable
extension method:
returns datatable contains copies of datarow objects, given input ienumerable object generic parameter t datarow.
this means table name of "dtinv" gets blown away after call copytodatatable, dtnew
no longer refers same datatable
. move dtnew.tablename = "dtinv";
after call copytodatatable
:
datatable dtnew = new datatable(); dtnew = q1.copytodatatable<datarow>(); dtnew.tablename = "dtinv"; dsinvitee.tables.add(dtnew.copy()); dsinvitee.acceptchanges();
Comments
Post a Comment