2013-10-26 65 views
1

我努力让jdbc/execute!函数提交我对sqlite数据库所做的任何更改。如何使用clojure jdbc执行?

例如,

user=> (jdbc/execute! sqlite-db ["insert into person (second_name) values ('Gandhi');"]) 
nil 

nil被返回并且该行没有被插入。但是,我知道该函数连接到数据库莫名其妙,因为我可以用一个无效的表名,并得到一个错误:

user=> (jdbc/execute! sqlite-db ["insert into ABCDEFG (second_name) values ('Gandhi');"]) 

SQLException [SQLITE_ERROR] SQL error or missing database (no such table: ABCDEFG) org.sqlite.DB.newSQLException (DB.java:383) 

的JDBC库还包括jdbc/insert!功能,我可以用这个正确插入。但是,我想使用execute!函数,因为在我的应用程序中,我使用更复杂的语句,因此我认为我会提供参数化的SQL字符串。

我在哪里使用execute!函数出错?

+0

是否执行的测试版0.3.0解决!需要在交易中进行交易才能兑现? –

+0

这两种情况都有发生,但PositiveLogic提到我现在看到这是一个已知问题。 – Kim

回答