如何在不更改 RowState 属性的情况下使用 LINQ 从数据库中复制 DataTable
Posted
技术标签:
【中文标题】如何在不更改 RowState 属性的情况下使用 LINQ 从数据库中复制 DataTable【英文标题】:How to copy DataTable from Database without changing the RowState Property Using LINQ 【发布时间】:2013-01-25 06:44:50 【问题描述】:我正在从数据库 sa 填充我的数据表
var z = from ins in cstmrDC.customersCntcts_rd(101)
select ins;
foreach (var dtbl in z)
DataRow drDtls;
drDtls = dtDtls.NewRow();
drDtls[0] = dtbl.cust_Slno;
drDtls[1] = dtbl.cust_Cntctnm;
drDtls[2] = dtbl.cust_Cntctdesig;
drDtls[3] = dtbl.cust_Cntctmobl;
drDtls[4] = dtbl.cust_Cntctmail;
//drDtls.RowState = DataRowState.Unchanged;
dtDtls.Rows.Add(drDtls);
这样我可以填写我的DataTable
,但是DataTable
的RowState
默认设置为Added
。但我想从DataGridView
操作这些记录。
在不更改RowState
的情况下,如何插入、删除和更新我的DataGridview
?帮我直接从数据库中填写数据表。
我尝试使用出现在 IntelliSense 框中的 CopyToDataTable()
。也许这是因为我使用的是 .Net 3.5。
请帮帮我..
【问题讨论】:
【参考方案1】:做事
...
dtDtls.Rows.Add(drDtls);
dtDtls.AcceptChanges();
...
而RowState
将是Unchanged
。
【讨论】:
以上是关于如何在不更改 RowState 属性的情况下使用 LINQ 从数据库中复制 DataTable的主要内容,如果未能解决你的问题,请参考以下文章
如何在不破坏向后兼容性的情况下更改 DataContract 属性的类型?