检查Datatable表指定字段的值是否重复|C/S框架网
检查Datatable表指定字段的值是否重复|C/S框架网
C# Code:
/// <summary>
/// 检查Datatable表指定字段的值是否重复
/// </summary>
/// <param name="dtCheck">需要检查的表</param>
/// <param name="fieldName">字段名</param>
/// <param name="sb">需要返回的结果信息</param>
/// <returns></returns>
public static bool IsDuplicateFieldValue(DataTable dtCheck, string fieldName, StringBuilder sb = null)
{
if (sb != null)
{
DataRow[] rows; string value;
foreach (DataRow R in dtCheck.Rows)
{
value = R[fieldName] == DBNull.Value ? "" : R[fieldName].ToString();
rows = dtCheck.Select(string.Format("{0}='{1}'", fieldName, value));
if (rows.Length > 1) sb.Append(sb.Length == 0 ? value : "," + value);
}
return sb.Length > 0;
}
else
{
//使用DataView对象获取唯一值
DataView dv = new DataView(dtCheck);
return dv.Count != dv.ToTable(true, fieldName).Rows.Count;
}
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
/// <summary>
/// 检查Datatable表指定字段的值是否重复
/// </summary>
/// <param name="dtCheck">需要检查的表</param>
/// <param name="fieldName">字段名</param>
/// <param name="sb">需要返回的结果信息</param>
/// <returns></returns>
public static bool IsDuplicateFieldValue(DataTable dtCheck, string fieldName, StringBuilder sb = null)
{
if (sb != null)
{
DataRow[] rows; string value;
foreach (DataRow R in dtCheck.Rows)
{
value = R[fieldName] == DBNull.Value ? "" : R[fieldName].ToString();
rows = dtCheck.Select(string.Format("{0}='{1}'", fieldName, value));
if (rows.Length > 1) sb.Append(sb.Length == 0 ? value : "," + value);
}
return sb.Length > 0;
}
else
{
//使用DataView对象获取唯一值
DataView dv = new DataView(dtCheck);
return dv.Count != dv.ToTable(true, fieldName).Rows.Count;
}
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
应用场景:
C# Code:
StringBuilder sb = new StringBuilder();
if (CommonTools.IsDuplicateFieldValue(detail, tb_PlanMainDtl.OrderID, sb))
{
Msg.Warning("表格中存在重复的订单号!\r\n"+sb.ToString());
return false;
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
StringBuilder sb = new StringBuilder();
if (CommonTools.IsDuplicateFieldValue(detail, tb_PlanMainDtl.OrderID, sb))
{
Msg.Warning("表格中存在重复的订单号!\r\n"+sb.ToString());
return false;
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
参考文档:
删除DataTable空记录行 RemoveEmptyRows
C#.NET给DataTable日期类型的列赋值报错:所需类型是 MySqlDateTime,值类型与列类型不匹配
更新明细表的外键-优化方法UpdateDetailKey|C/S框架网
原创文档-Winform开发框架提供通用导入Excel功能界面|C/S框架网
支持主从表BLL单独提交明细表优化UpdateDetailKey方法|C/S框架网
FastReport.NET 2023使用DataTable报表数据源配置JsonDataSourceConnection连接|C/S开发框架
FastReport.NET 2023使用DataTable报表数据源配置MsSqlDataConnection连接|C/S开发框架
C# DataTable与XML互转|C/S开发框架
使用System.Data.OracleClient组件搭建Oracle数据库连接获取DataTable|C/S开发框架
CSFrameworkV6 - Delete方法删除数据检查数据引用
C/S框架网2022春节放假通知
C# FieldFitString类:将资料表(DataTable)已修改的资料行数据去左右空格、全角转半角
升级程序DataTable.ReadXml报错:MySql.Data.Types.MySqlDateTime is not allowed here
C# LINQ使用Distinct方法检查对象某个属性的值是否重复
C# DataSet和DataTable
SQL存储过程:删除基础资料前逻辑判断,检查是否有关联业务数据
删除DataTable空记录行 RemoveEmptyRows
C#.NET给DataTable日期类型的列赋值报错:所需类型是 MySqlDateTime,值类型与列类型不匹配
更新明细表的外键-优化方法UpdateDetailKey|C/S框架网
原创文档-Winform开发框架提供通用导入Excel功能界面|C/S框架网
支持主从表BLL单独提交明细表优化UpdateDetailKey方法|C/S框架网
FastReport.NET 2023使用DataTable报表数据源配置JsonDataSourceConnection连接|C/S开发框架
FastReport.NET 2023使用DataTable报表数据源配置MsSqlDataConnection连接|C/S开发框架
C# DataTable与XML互转|C/S开发框架
使用System.Data.OracleClient组件搭建Oracle数据库连接获取DataTable|C/S开发框架
CSFrameworkV6 - Delete方法删除数据检查数据引用
C/S框架网2022春节放假通知
C# FieldFitString类:将资料表(DataTable)已修改的资料行数据去左右空格、全角转半角
升级程序DataTable.ReadXml报错:MySql.Data.Types.MySqlDateTime is not allowed here
C# LINQ使用Distinct方法检查对象某个属性的值是否重复
C# DataSet和DataTable
SQL存储过程:删除基础资料前逻辑判断,检查是否有关联业务数据
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
