使用数据从 DataTable 中删除 DataColumn

Remove DataColumn from DataTable with Data

我有带数据的数据表。我调用了我的 postgres 数据库并获取了 DataTable。

// get the new data from postgres
   var dataTable = pg.GetDataTable("SELECT * FROM " + '"'+table+'"');

现在我需要删除特定的列。假设有 5 列数据。

ID     |   Name   | Address | Mobile | Home
_______________________________________________
    1  |  A       |AAA      | 123    | 345
    2  |  B       |BBB      | 234    | 456
    3  |  C       |CCC      | 345    | 567

所以我需要删除 "Home " DataColumn 并重新创建此 DataTable,如下所示

  ID   |   Name   | Address | Mobile 
____________________________________
    1  |  A       |AAA      | 123    
    2  |  B       |BBB      | 234    
    3  |  C       |CCC      | 345    

我该怎么做?

感谢您的评论。

谢谢

你只需要使用方法 DataTable.Columns.Remove(string name):

dataTable.Columns.Remove("Home");

然后 table 不再包含此列,并且此列中的所有行的数据都将被丢弃。但是,首先省略此列并列出所需的列:

var dataTable = pg.GetDataTable("SELECT ID, Name, Address, Mobile FROM " + '"'+ table +'"');

只需明确指定您需要的列,而不是选择不需要的列然后再删除它们:

SELECT "Id", "Name", "Address", "Mobile"

使用 SELECT * 是不礼貌的,因为它会使您与数据库的合同不稳定 - 如果列配置更改,您将得到不可预知的结果。

考虑使用 dataTable.Columns.Remove("ColumnName") 要么 dataTable.Columns.RemoveAt(ColumnNumber)