DataTable添加单个或多个字段组成的主键,实现查找

单列主键

DataTable fdt = CmmDb.GetDataTable(orgsql);

fdt.PrimaryKey = new DataColumn[] { fdt.Columns["company_enroute_id"] };

DataRow dr = fdt.Rows.Find(fid); //在总表中找到该航线对应的行,该行与总表是应用关系,改变dr也就改变了fdt

多列主键

DataTable dtsegment = CmmDb.GetDataTable(string.Format("select * from {0}.segment where 1=2",CmmDb.dbUser));
dtsegment.PrimaryKey=new DataColumn[2]{dtsegment.Columns["AIRWAY_POINT1"],dtsegment.Columns["AIRWAY_POINT2"]};

按主键查找行

DataRow segrow=dtsegment.Rows.Find( new object[]{ pid1, pid2}) ; 该行与总表是应用关系,改变dr也就改变了主表

如果该DataTable要整体写入数据库,最后在写入前删除主键,避免出错

fdt.PrimaryKey = null;

原文地址:https://www.cnblogs.com/mol1995/p/6058092.html