System.Data.DataRowView”不包含名为“xxx”的属性

licai1210 2015-06-16 04:02:35
各位大神,问题和后面的地址一样:http://biancheng.dnbcw.info/net/165575.html,在调试的时候不出现问题,放到线上的时候就有时候会出现没有某一个属性的情况,用DefaultView的时候就出现了,感觉是DefaultView的列丢失了,网上有人说是数据库连接的问题,但是也不应该导致这个问题啊,原理上也说不通的。求各位大神帮忙解答下。
...全文
719 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
licai1210 2015-06-17
  • 打赏
  • 举报
回复
引用 6 楼 Z65443344 的回复:
写日志 记录出错的时候sql语句到底是什么 然后你把这个sql语句拿到数据库里去执行,就什么都明白了 靠猜是不解决任何问题的
您好,这个问题内层和外层都是用的*号,应该不存在字段读不出来的情况。另外这也是公司另外一个项目,我就是想找找为什么有时候突然不可以,刷新下就好了
江南小鱼 2015-06-17
  • 打赏
  • 举报
回复
引用 楼主 licai1210 的回复:
各位大神,问题和后面的地址一样:http://biancheng.dnbcw.info/net/165575.html,在调试的时候不出现问题,放到线上的时候就有时候会出现没有某一个属性的情况,用DefaultView的时候就出现了,感觉是DefaultView的列丢失了,网上有人说是数据库连接的问题,但是也不应该导致这个问题啊,原理上也说不通的。求各位大神帮忙解答下。
这种非经常性bug 在你找到触发条件之前,可能记录日志跟踪是行之有效的办法,一旦找到触发条件,本地debug复现,问题就迎刃而解了。
於黾 2015-06-17
  • 打赏
  • 举报
回复
写日志 记录出错的时候sql语句到底是什么 然后你把这个sql语句拿到数据库里去执行,就什么都明白了 靠猜是不解决任何问题的
於黾 2015-06-17
  • 打赏
  • 举报
回复
引用 2 楼 licai1210 的回复:
[quote=引用 1 楼 bdmh 的回复:] strWhat是拼接出来的字符串,就有可能不同的条件会有不同的内容,导致你select出来的字段不一样,所以你打印一下strWhat的内容,看看是不是又不一样的时候
我最外层出现的是 select * 号是一样的呢[/quote] 你在最外层加select *,那么就跟没加一样 既然是嵌套查询,那么本该是先进行子查询,然后对子查询查询到的内容再筛选 而你用select *,那么就是查询所有子查询的结果,这样有什么意义? 而且即使外层一样,内层又不见得一样
licai1210 2015-06-17
  • 打赏
  • 举报
回复
引用 3 楼 ranranshengqi 的回复:
你也是用的 static吧
没有用static呢
ranranshengqi 2015-06-16
  • 打赏
  • 举报
回复
你也是用的 static吧
licai1210 2015-06-16
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
strWhat是拼接出来的字符串,就有可能不同的条件会有不同的内容,导致你select出来的字段不一样,所以你打印一下strWhat的内容,看看是不是又不一样的时候
我最外层出现的是 select * 号是一样的呢
bdmh 2015-06-16
  • 打赏
  • 举报
回复
strWhat是拼接出来的字符串,就有可能不同的条件会有不同的内容,导致你select出来的字段不一样,所以你打印一下strWhat的内容,看看是不是又不一样的时候

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧