我已经创造了一些Clojure的功能来访问数据库,如下图所示的代码片段的SQLException异常:不能理解的Clojure
(defn get-dg [date]
(let [query (str "......")
]
(jdbc/with-connection db
(jdbc/with-query-results rows
[query date date date date]
(.debug log rows)
(if (not (seq rows))
nil
rows))))
)
,一切工作正常。查询返回一个结果集,然后我可以处理。现在,如果我注释掉(.debug日志行),我得到这个:
java.lang.RuntimeException: java.sql.SQLException: Closed Resultset: next
任何想法为什么?
感谢
感谢您的回答。我怀疑懒惰的评估可能是原因。显然,(.debug)强制序列评估。 – kostas 2012-04-10 08:14:49