如何在不更改 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,但是DataTableRowState默认设置为Added。但我想从DataGridView 操作这些记录。

在不更改RowState 的情况下,如何插入、删除和更新我的DataGridview?帮我直接从数据库中填写数据表。

我尝试使用出现在 IntelliSense 框中的 CopyToDataTable()。也许这是因为我使用的是 .Net 3.5。

请帮帮我..

【问题讨论】:

【参考方案1】:

做事

...
dtDtls.Rows.Add(drDtls);
dtDtls.AcceptChanges();
...

RowState 将是Unchanged

【讨论】:

以上是关于如何在不更改 RowState 属性的情况下使用 LINQ 从数据库中复制 DataTable的主要内容,如果未能解决你的问题,请参考以下文章

如何在不破坏向后兼容性的情况下更改 DataContract 属性的类型?

如何在不更改颜色的情况下禁用 Vuetify 按钮

如何在不使用 setCoordinate 的情况下更新注释?

在不更改属性顺序的情况下获取 XML

Jquery在不使用值的情况下选择更改

在不更改应用样式的情况下更改 QSpinBox 箭头大小