预计1实际0

时间:2013-03-22 05:42:54

标签: c# asp.net .net spring.net

我正在开发一个Spring .net应用程序。

我有一个带有字段的登录页面 - LoginID密码

登录时 - 候选人需填写一份表格 所以在登录后我检查候选人是否已填写表格,然后从数据库中取出值并显示在表格字段中。 现在当候选人没有为表格填充数据库空行时,因此它给了我上述错误。请告诉我应该如何解决此错误。

我试过检查obj是否为null但它没有转到下一行来检查obj是否为NULL它会立即抛出上面提到的异常

它给PAGE_LOAD功能的第6行带来了错误 EXCEPTION:已捕获EmptyResultDataAccessException           结果不正确预期1实际0

1 个答案:

答案 0 :(得分:1)

正如我上面所说,我从未使用过Spring.NET,但是看一下我相信你可能使用AdoTemplate类的错误方法的文档。 QueryForObject,根据文档,将执行`使用IRowMapper将结果集映射到对象的查询。如果查询没有返回一个对象,则抛出异常。'

在您的示例中,如果用户未注册,则它们不在数据库中,因此将返回0结果。因此错误Incorrect Resultsize Expected 1 Actual 0

尝试使用QueryWithRowMapper方法(同样,根据文档)Mapping result sets to objects的方法之一:

return (CandidateSession)template.QueryWithRowMapper(CommandType.StoredProcedure, "spGetCandidateSession", candidateMapper, parameters);

如果转换为CandidateSession没有失败,我希望返回一个null对象。

同样,我从未在Spring.NET中工作过,所以这是基于对文档的粗略阅读。希望它至少会让你走上正确的道路。