DataTable.Load(reader)注意事项

对于在C#中操作数据库查询,这样的代码很常见:

using var cmd = ExecuteCommand(sql);
using var reader = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(reader);
...

一般的查询是没问题的,但是如果涉及主键列的查询,这个时候得注意了,如果select 字段有主键字段,并且主键列会存在多行相同值,如:
在这里插入图片描述
这时执行完Load你会发现dt只有1行…
解决办法就是不要使用Load,而是使用

while(reader.Read())
...

一行行取出。

相关推荐

  1. 数组 注意事项

    2024-01-31 19:28:02       28 阅读
  2. 换房注意事项

    2024-01-31 19:28:02       45 阅读
  3. RWMutex 注意事项

    2024-01-31 19:28:02       36 阅读
  4. Unity 开发注意事项

    2024-01-31 19:28:02       28 阅读
  5. 国产系统注意事项

    2024-01-31 19:28:02       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-31 19:28:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-31 19:28:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-31 19:28:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-31 19:28:02       20 阅读

热门阅读

  1. MySQL 常用函数学习总结

    2024-01-31 19:28:02       31 阅读
  2. Docker

    Docker

    2024-01-31 19:28:02      28 阅读
  3. 第二百九十六回

    2024-01-31 19:28:02       34 阅读
  4. WriteFlow写作流GPT应用,激发创意的写作助手

    2024-01-31 19:28:02       34 阅读
  5. Python 安装 llama 库

    2024-01-31 19:28:02       39 阅读
  6. 使用HSE配置系统时钟

    2024-01-31 19:28:02       42 阅读
  7. 前端网站website

    2024-01-31 19:28:02       39 阅读
  8. adb控制设备状态

    2024-01-31 19:28:02       38 阅读