Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android.database.sqlite.SQLiteException:near“…”:语法错误(代码1)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当我打开我的RSS应用程序时,我想检查我的数据库中是否存在一篇文章.如果它存在,我想删除它(或忽略它),如果不在数据库中写入它.

我一直试图这样做:

cursor cursor = ourDatabase.rawQuery("SELEct 1 from "
                    + DBHelper.DATABASE_TABLE + " where " + DBHelper.titlE + "='"
                    + title + "'" + " AND " + DBHelper.DATE + "='" + date + "'",new String[] {});
            if (cursor.moveToFirst()) {
                Boolean exists = (cursor.getCount() > 0);
                cursor.close();
                return exists;
            } else {
    return false;       }

        }

但我得到这个错误

06-06 16:01:11.341: E/AndroidRuntime(13867): Caused by: android.database.sqlite.sqliteException: near "όσο": Syntax error (code 1):,while compiling: SELEct 1 from all_t where title='Ο ΦΟΒΟΣ και ο ΤΡΟΜΟΣ των διαδηλωτών!!! Αυτές οι γυναίκες είναι πιο σκληρές απ' όσο δείχνουν!' AND date='Wed,05 Jun 2013 18:12:15'

解决方法

这是一个典型的问题,没有使用SELEctionArgs,这正是人们应该使用它们的原因:你用简单的引号引用你的字符串,但你的字符串包含单引号,所以sqlite在实际结束之前检测字符串的结尾,并尝试将其余部分解析为sqlite关键字.

正确的解决方案是通过使用那些SELEctionArgs而不是试图逃避自我而将转义留给sqlite.在你的情况下,那将是:

cursor cursor = ourDatabase.rawQuery("SELEct 1 from "
            + DBHelper.DATABASE_TABLE + " where " + DBHelper.titlE + "=?"
            + " AND " + DBHelper.DATE + "=?",new String[] {title,datE});

此外,它更干净,因为您可以从查询获取常量而不是每次构建它.

大佬总结

以上是大佬教程为你收集整理的android.database.sqlite.SQLiteException:near“…”:语法错误(代码1)全部内容,希望文章能够帮你解决android.database.sqlite.SQLiteException:near“…”:语法错误(代码1)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。