C#控制台程序如何判断DataTable是否存在记录并调用其他函数
实现方案
要实现「根据DataTable实际返回的数据结果决定是否调用后续函数」的逻辑,核心是校验DataTable是否存在有效数据行,不需要依赖列结构信息,实现时要做好边界兼容,避免空引用报错。
核心判断逻辑
需要覆盖两个常见的异常场景,避免判断失效:
- 兼容
GetANumber()在查询异常、无匹配结果时直接返回null的情况,防止空引用错误 - 识别表已经初始化好列头、但没有任何实际数据行的空表,避免误触发后续逻辑
示例代码
DataTable dt = new DataTable(); dt = GetANumber(); // 满足判断条件即说明DataTable有实际返回结果 if (dt != null && dt.Rows.Count > 0) { // 直接调用需要触发的另一函数即可 YourAnotherFunction(); }
补充说明
- 上述判断完全匹配你“不参考列信息、只根据实际返回结果判断”的要求:哪怕表已经绑定好完整列头,只要没有数据行,就不会触发后续逻辑
- 如果业务场景存在“表内有数据行但核心业务字段全为空”的特殊情况,可以在判断块内追加核心字段的非空校验,比如校验第一行指定业务列的取值不为空即可,这部分可以根据实际查询逻辑灵活调整
内容的提问来源于stack exchange,提问作者AskMe
相关产品推荐
相关产品推荐

