大佬教程收集整理的这篇文章主要介绍了带引号的ORMLite查询,Android,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@DatabaseTable(tablename = LocalStorageCon@L_801_0@.sql_RECENTS_TABLE_Name) public class RecentSearch { @DatabaseField public String search_text; public static String sql_SEARCH_FIELD = "search_text"; @DatabaseField public String LOCATIOn_text; public static String sql_LOCATION_FIELD = "LOCATIOn_text"; @DatabaseField public Date creation_date = new Date(); public static String sql_CREATION_DATE_FIELD = "creation_date";
它几乎一直在工作,但当我发现包含’的字符串的情况时,它似乎是一个问题.你知道怎么解决这个问题吗?我找不到我要找的东西.
public Boolean deleteRecent(RecentSearch search) { try { Dao<RecentSearch,@R_197_8056@r> recentsDao = recents@L_245_1@manager.getRecentsDao(); deleteBuilder<RecentSearch,@R_197_8056@r> deleteBuilder = recentsDao.deleteBuilder(); deleteBuilder.where().eq(RecentSearch.sql_SEARCH_FIELD,search.getSearch_text()).and().eq(RecentSearch.sql_LOCATION_FIELD,search.LOCATIOn_text); recentsDao.delete(deleteBuilder.prepare()); return true; } catch (Exception E) { Log.e(tag,"Database exception",E); return false; } }
这是我得到的例外情况:
java.sql.sqlException: Problems execuTing Android statement: deletE FROM `recent_searches` WHERE (`search_text` = '' AND `LOCATIOn_text` = 'Villefranche-d'Allier,Allier' ) at com.j256.ormlite.misc.sqlExceptionUtil.create(sqlExceptionUtil.java:22) at com.j256.ormlite.android.AndroidCompiledStatement.runupdate(AndroidCompiledStatement.java:66) at com.j256.ormlite.stmt.Statementexecutor.delete(Statementexecutor.java:425) at com.j256.ormlite.dao.baseDaoImpl.delete(BaseDaoImpl.java:347) ... Caused by: android.database.sqlite.sqliteException: near "Allier": Syntax error:,while compiling: deletE FROM `recent_searches` WHERE (`search_text` = '' AND `LOCATIOn_text` = 'Villefranche-d'Allier,Allier' ) at android.database.sqlite.sqliteCompiledsql.native_compile(Native Method) at android.database.sqlite.sqliteCompiledsql.compile(sqliteCompiledsql.java:92) at android.database.sqlite.sqliteCompiledsql.<init>(sqliteCompiledsql.java:65) at android.database.sqlite.sqliteProgram.<init>(sqliteProgram.java:83) at android.database.sqlite.sqliteStatement.<init>(sqliteStatement.java:41) at android.database.sqlite.sqliteDatabase.compileStatement(sqliteDatabase.java:1149)
SelectArg
.
使用SELEctArg,您可以执行以下操作:
deleteBuilder<RecentSearch,@R_197_8056@r> deleteBuilder = recentsDao.deleteBuilder(); // create our argument which uses a sql ? SELEctArg LOCATIOnArg = new SELEctArg(search.LOCATIOn_text); deleteBuilder.where().eq(RecentSearch.sql_SEARCH_FIELD,search.getSearch_text()) .and().eq(RecentSearch.sql_LOCATION_FIELD,LOCATIOnArg); recentsDao.delete(deleteBuilder.prepare()); ...
以上是大佬教程为你收集整理的带引号的ORMLite查询,Android全部内容,希望文章能够帮你解决带引号的ORMLite查询,Android所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。