当前位置: 首页 > news >正文

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())
...

一行行取出。

http://www.lryc.cn/news/290996.html

相关文章:

  • DC-DNS(域名解析服务)(23国赛真题)
  • 日志之Loki详细讲解
  • Mongodb投射中的$slice,正向反向跳过要搞清楚
  • 类和对象 第六部分 继承 第一部分:继承的语法
  • githacker安装详细教程,linux添加环境变量详细教程(见标题三)
  • 2401Idea用GradleKotlin编译Java控制台中文出乱码解决
  • Day39 62不同路径 63不同路径II 343整数拆分 96不同的二叉搜索树
  • JavaScript 的 ~~ 运算和floor 的性能差异
  • AtCoder Beginner Contest 338F - Negative Traveling Salesman【floyd+状态压缩dp】
  • UDP/TCP协议特点
  • 编程笔记 html5cssjs 059 css多列
  • Facebook的元宇宙探索:虚拟社交的新时代
  • 用React给XXL-JOB开发一个新皮肤(四):实现用户管理模块
  • 某赛通电子文档安全管理系统 hiddenWatermark/uploadFile 文件上传漏洞复现
  • Redis五种数据类型及应用场景
  • 测试环境搭建整套大数据系统(一:基础配置,修改hostname,hosts,免密)
  • maven helper 解决jar包冲突方法
  • AppSrv-文件共享(23国赛真题)
  • AsyncLocal是如何实现在Thread直接传值的?
  • Flask 入门1:一个简单的 Web 程序
  • 维护管理Harbor,docker容器的重启策略
  • Qt6入门教程 14:QToolButton
  • 3D数据转换器HOOPS Exchange如何获取模型的几何数据? 干货预警!
  • Coremail启动鸿蒙原生应用开发,打造全场景邮件办公新体验
  • 基于CVITEK_CV1821+SOI_Q03P的IPC方案
  • chromedriver安装和环境变量配置
  • Linux浅学笔记03
  • 【vue】图片加载骨架
  • leetcode59. 螺旋矩阵 II
  • bash 5.2中文修订5