不晓得是oracle的错还是entityframework的错

代码小天王 2012-06-19 10:01:35
string querySql = "select xtpz.xtpz_id,xtpz.pzxdm,xtpz.pzxmc,xtpz.xtpzfl,xtpz.kjlx,xtpz.pzxcszfw,xtpz.pzxcsz,xtpz.pzxmrcsz,xtpz.qyzt,xtpz.fwlx,xtpz.xjsfgl,xtpz.xjsfck" +
",xtpz.zd_guid,xtpz.glyfl,xtpz.xzqy_dm,xtpz.bzts" + ",sjyz.xtpzsjyz_id,sjyz.yzbz,sjyz.zxzsl,sjyz.zdzsl,sjyz.sfbt"
+ " from xt_xtpz xtpz " +
"left join XT_XTPZSJYZ sjyz on xtpz.xtpz_id=sjyz.xtpz_id " +
"where xtpz.GLYFL=@GLYFL and trim(xtpz.ZD_GUID)=@ZD_GUID and xtpz.XZQY_DM=@XZQY_DM and xtpz.XJSFGL='0' and xtpz.XTPZFL=@XTPZFL and xtpz.QYZT='1'";

ObjectParameter[] para = new ObjectParameter[4];
ObjectParameter p1 = new ObjectParameter("GLYFL", typeof(System.Int32)); p1.Value = glyFl_Code;
ObjectParameter p2 = new ObjectParameter("ZD_GUID", typeof(System.String)); p2.Value = zd_guid;
ObjectParameter p3 = new ObjectParameter("XZQY_DM", typeof(System.String)); p3.Value = xzqy_dm;
ObjectParameter p4 = new ObjectParameter("XTPZFL", typeof(System.Int64)); p4.Value = xtpz_fl;
para[0] = p1; para[1] = p2; para[2] = p3; para[3] = p4;
IEnumerable<ViewShareConfig> dataList = db.ExecuteStoreQuery<ViewShareConfig>(querySql, para);


IEnumerable<ViewShareConfig> dataList = db.ExecuteStoreQuery<ViewShareConfig>(querySql, para);
报错:值不在预期的范围内。
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
licai1210 2012-06-19
  • 打赏
  • 举报
回复
最直接的办法就是看可能你传入了哪些参数值,把对应的参数值放到querySql这语句中相应的位置,然后到oracle里面执行下,排除语句和参数错误的可能性
wanghui0380 2012-06-19
  • 打赏
  • 举报
回复


看这张图你就知道IntelliTrace是啥了,他是vs自动维护跟踪一些内部执行的历史信息的位置。当然其中有个功能是跟踪所有的sql语句执行的能力(本来sqlfrofile也有这功能,不过每次单独启动sqlforfile毕竟费事,现在vs2010本身就可以跟踪了,我们就可以不用在单独启动sqlprofile去监控了)
代码小天王 2012-06-19
  • 打赏
  • 举报
回复
嗯。才接触EF和Oracle,忘大家给点帮助,怎么去查看querySql
[Quote=引用 3 楼 的回复:]

把querySql最终生存的SQL语句到查询分析器里面执行就知道原因了,很多时候不需要直接执行就能看出错误
[/Quote]
licai1210 2012-06-19
  • 打赏
  • 举报
回复
把querySql最终生存的SQL语句到查询分析器里面执行就知道原因了,很多时候不需要直接执行就能看出错误
代码小天王 2012-06-19
  • 打赏
  • 举报
回复
调试.net framework?
[Quote=引用 1 楼 的回复:]

值不在预期的范围内

这个很明显是 数据库的提示,而非EF的提示,只是EF直接throw的数据库的异常


ps:有关这玩意,首先就是下断点,然后在vs2010的IntelliTrace里看最终执行语句到底是啥?话说vs的IntelliTrace是个不错的功能,虽然有点耗内存,虽然默认设置把调试信息丢在c盘让c盘莫名其妙就没空间,不过总体上这是个不错的功能
[/Quote]
wanghui0380 2012-06-19
  • 打赏
  • 举报
回复
值不在预期的范围内

这个很明显是 数据库的提示,而非EF的提示,只是EF直接throw的数据库的异常


ps:有关这玩意,首先就是下断点,然后在vs2010的IntelliTrace里看最终执行语句到底是啥?话说vs的IntelliTrace是个不错的功能,虽然有点耗内存,虽然默认设置把调试信息丢在c盘让c盘莫名其妙就没空间,不过总体上这是个不错的功能

62,047

社区成员

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

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

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

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