Note that there are some explanatory texts on larger screens.

plurals
  1. POOrmlite throwing SQLException on create(). What am I doing wrong?
    primarykey
    data
    text
    <p>I'm trying to replace existing database code with Ormlite in a Java project I'm working on.</p> <p>However, when I call create() to insert an object into the SQLite database, it throws a SQLException. I figure I'm probably making an obvious mistake, but I can't figure out what it is. Here is the code:</p> <pre><code>public class OrmliteTest { private final String DATABASE_URL = "jdbc:sqlite:test.sqlite"; private JdbcConnectionSource connectionSource = null; private Dao&lt;Article, Integer&gt; articleDao; public OrmliteTest() throws SQLException{ connectionSource = new JdbcConnectionSource(DATABASE_URL); TableUtils.createTableIfNotExists(connectionSource, Article.class); articleDao = DaoManager.createDao(connectionSource, Article.class); Article article1 = new Article("articles", "idnumber", "blah blah blah", (int)(new Date().getTime()/1000)); articleDao.createOrUpdate(article1); // throws SQLException - why? } } @DatabaseTable(tableName = "articles") class Article { public static final String CATEGORY_FIELD_NAME = "category"; public static final String ARTICLEID_FIELD_NAME = "articleid"; public static final String BODY_FIELD_NAME = "body"; public static final String ADDED_FIELD_NAME = "added"; @DatabaseField(generatedId = true) public int id; @DatabaseField(columnName = CATEGORY_FIELD_NAME) public String category; @DatabaseField(columnName = ARTICLEID_FIELD_NAME) public String articleId; @DatabaseField(columnName = BODY_FIELD_NAME) public String body; @DatabaseField(columnName = ADDED_FIELD_NAME) public int added; public Article() {} public Article(String category, String articleId, String body, int added) { setCategory(category); setArticleId(articleId); setBody(body); setAdded(added); } ...getters and setters... } </code></pre> <p>The exception is thrown on the call to <code>articleDao.createOrUpdate(article1)</code>. Here is the traceback:</p> <pre><code>java.sql.SQLException: Unable to run insert stmt on object com.myapp.tester.Article@7a36824: INSERT INTO `articles` (`category` ,`storyid` ,`body` ,`added` ) VALUES (?,?,?,?) at com.j256.ormlite.misc.SqlExceptionUtil.create(SqlExceptionUtil.java:22) at com.j256.ormlite.stmt.mapped.MappedCreate.insert(MappedCreate.java:90) at com.j256.ormlite.stmt.StatementExecutor.create(StatementExecutor.java:325) at com.j256.ormlite.dao.BaseDaoImpl.create(BaseDaoImpl.java:287) at com.j256.ormlite.dao.BaseDaoImpl.createOrUpdate(BaseDaoImpl.java:312) at com.myapp.tester.OrmliteBugTester.&lt;init&gt;(OrmliteBugTester.java:128) at com.myapp.tester.Tester.main(Tester.java:24) Caused by: java.sql.SQLException: NYI at org.sqlite.Conn.prepareStatement(Conn.java:217) at com.j256.ormlite.jdbc.JdbcDatabaseConnection.insert(JdbcDatabaseConnection.java:105) at com.j256.ormlite.stmt.mapped.MappedCreate.insert(MappedCreate.java:63) ... 5 more </code></pre> <p>What am I doing wrong?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload