2013-10-26 62 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

回答