相关疑难解决方法(0)

jdbc sql错误:语句没有返回结果集

我有两个存储过程如下:

create stored procedure p1
as
    select * from table1 where datediff(day, table1.[date], getdate())

create stored procedure p2
as
   declare @t1 table(
     ref varchar(20)
   )
      insert into @t1 select * from table1 where ref = 'some ref'
      declare @t2 table(
      fname varchar(20),
      lname varchar(20),
      email varchar(1000)
  )
  declare @len int = (select count(ref) from @t1)
  while @len > 0
  begin
  declare @value varchar(20)  = (select top 1 ref from @t1)
  insert into @t2 select * from table2 where ref = …
Run Code Online (Sandbox Code Playgroud)

sql-server stored-procedures jdbc

5
推荐指数
1
解决办法
1万
查看次数

使用java进行存储过程错误处理

如何在编写存储过程或从java访问存储过程时处理错误条件?

java procedure jdbc

5
推荐指数
1
解决办法
5187
查看次数

Java 中的 ExecuteQuery() 与 getResultSet()

是什么区别statement.executeQuerystatement.getResultSet()。我相信两者都会返回ResultSet一个 select 语句,但是当我们应该使用它们中的哪一个时,是否有任何特定的标准。

java sql jdbc

5
推荐指数
1
解决办法
4447
查看次数

Java SQL:Statement.hasResultSet()?

我的应用程序在一个平台上使用MySQL而在另一个平台上使用SQLite,因此存在差异,例如在使用查询时DELETE FROM USERS:

  • MySQL上,PreparedStatement.getResultSet()将返回null.
  • SQLite上,PreparedStatement.getResultSet()将抛出java.sql.SQLException: no ResultSet available.

这可能是也可能不是SQLite实现中的错误(我认为它应该返回null),但我必须以某种方式处理它.

我可以使用a try { ... } catch (SQLException e) { ... },如果是异常消息"no ResultSet available",只需手动返回null.尽管如此,这并不是一种正确的方法.

我可以提出一个if,它会检查正在使用的JDBC驱动程序并做出相应的反应,但同样,这并不是解决问题的好方法.

我真正想要的是一个像.hasResultSet()这样的方法返回boolean ORSELECT, UPDATE, INSERT从一个已经执行的语句中获取SQL命令(等)的方法.我在SQL API中找不到这两个.

java sql sqlite jdbc resultset

1
推荐指数
1
解决办法
2200
查看次数

标签 统计

jdbc ×4

java ×3

sql ×2

procedure ×1

resultset ×1

sql-server ×1

sqlite ×1

stored-procedures ×1