-3

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

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

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

我尝试检查 obj 是否为 null 但它没有转到下一行检查 obj 是否为 NULL 它立即抛出上述异常

它在 PAGE_LOAD 函数异常的第 6 行给出错误:EmptyResultDataAccessException 被捕获 不正确的结果大小预期 1 实际 0

4

1 回答 1

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没有失败,我希望返回一个空对象。

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

于 2013-03-22T06:06:37.337 回答