私は ORM (ORMlite) を使用していますが、次のエラーが発生するまで、すべての呼び出しがうまくいきます。
スレッド "main" org.h2.jdbc.JdbcSQLException での例外: SQL ステートメントの構文エラー " SELECT * FROM ""STORIES"" WHERE ""TITLE"" = 'Deepcut case lead 'NOT FOLLOWED[*]'' "; SQL ステートメント: SELECT * FROM
Stories
WHEREtitle
= 'Deepcut ケース リード 'フォローされていない'' [42000-152] org.h2.message.DbException.getJdbcSQLException(DbException.java:327) でorg.h2.message.DbException.get(DbException.java:144) で org.h2.message.DbException.getSyntaxError(DbException.java:179) で org.h2.command.Parser.getSyntaxError(Parser.java:480) org.h2.command.Parser.prepareCommand(Parser.java:229) で org.h2.engine.Session.prepareLocal(Session.java:426) で org.h2.engine.Session.prepareCommand(Session.java:374) ) org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1093) で org.h2.jdbc.JdbcPreparedStatement.(JdbcPreparedStatement.java:71) で org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:601) com.j256.ormlite.jdbc.JdbcDatabaseConnection.compileStatement(JdbcDatabaseConnection.java:83) で com.j256.ormlite.stmt.mapped.MappedPreparedStmt.compile(MappedPreparedStmt.java:44) で com.j256.ormlite .stmt.StatementExecutor.buildIterator(StatementExecutor.java:169) com.j256.ormlite.stmt.StatementExecutor.query(StatementExecutor.java:119) com.j256.ormlite.dao.BaseDaoImpl.query(BaseDaoImpl.java:189) )119) com.j256.ormlite.dao.BaseDaoImpl.query (BaseDaoImpl.java:189) で119) com.j256.ormlite.dao.BaseDaoImpl.query (BaseDaoImpl.java:189) で
何がうまくいかないのか混乱しています。これらの行から検索を呼び出しています。
// get our query builder from the DAO
QueryBuilder<Story, Integer> queryBuilder = StoryDao.queryBuilder();
// the 'title' field must be equal to title (a variable)
queryBuilder.where().eq(Story.TITLE_FIELD_NAME, title);
// prepare our sql statement
PreparedQuery<Story> preparedQuery = queryBuilder.prepare();
// query for all stories that have that title
List<Story> accountList = StoryDao.query(preparedQuery);