【发布时间】:2015-07-21 22:46:36
【问题描述】:
我正在开发一个数据库和一些 JSP 页面来对其执行 CRUD 操作。
我无法在我的 JSP 代码中捕获与我的 SQL 代码相关的异常。
例如:
我有这部分代码在 T-SQL 中引发错误:
IF @existing > 0
BEGIN
RAISERROR ('ID primário ja existe', 1, 1)
RETURN 0
END
IF (@CategoriaId IS NULL)
BEGIN
RAISERROR('O CategoriaId não pode ser nulo',1,1)
RETURN 0
END
我需要调用在 JSP 代码中引发这些错误的函数。
这是 JSP 代码的一部分:
try
{
rs = stmt.executeQuery(sql);
}
catch (Exception u)
{
out.println(u.toString());
}
而且它永远不会从 T-SQL 返回错误。
但是我知道该函数到达了 catch 语句,因为如果我在其中抛出一个 println("test") 它会在 jsp 页面上写入测试。
我总是得到这个异常:>com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。
这是我正在做的插入操作,如果我写入正确的值,它会毫无问题地插入。但即使它插入它也会引发该异常。
编辑:我已经尝试过 u.getMessage()
【问题讨论】:
-
您好,您是否检查过当您插入正确的值时这些值是否存储在数据库中?
-
嘿,是的,我检查过了。我直接去了 SQL Server 并选择了整个表。价值观就在那里。这就是为什么我觉得这很奇怪。
标签: java sql sql-server jsp