SQLiteException:无法识别的令牌:“ \”:

希德哈特(Sidharth)破折号

这是我要在其中插入值的表:

" create table if not exists "+CipherCongfigTable +
" ( DATABSE_NAME **TEXT**  PRIMARY KEY NOT NULL,DATABSE_KEY **TEXT**  NOT NULL);";

当我想插入

String **configDBPassword**= "**x\'2DD29CA89\'**"

通过声明

"insert into "+CipherCongfigTable+ " values("+DataBaseName+","+**configDBPassword**+")"

我正在例外:

无法识别的令牌:“ \”:

我需要使用相同格式的密码,即具有转义字符。有什么办法吗????

谢谢

ke

不要INSERT在Android(或任何其他数据库包装程序,只要有预定义的API来获取所需的内容)上手动构建(或尽可能避免使用其他任何方法)查询。它使您的应用程序可以引用问题中的一个问题,最糟糕的情况是来自应用程序外部的SQL注入攻击。

例如,configDBPassword = "\"; DROP TABLE <tablename>; --"只要configDBPassword用户可以输入,设置“我”就可能会对您的数据库造成严重破坏

另外,SQLite使用双引号("),反引号(`,从MySQL借用)或方括号([],从MS SQL借用)来引用标识符(例如,其中包含空格的列或表名),字符串文字通常用单引号(') 引号。SQLite在允许混合使用两种引用类型方面是相当自由的,但是在适当的地方使用适当的引用样式要可读得多。文档中

警告程序员不要使用前面的项目符号中描述的两个例外。我们强调它们仅存在,以便旧的和格式错误的SQL语句将正确运行。未来版本的SQLite可能会引发错误,而不是接受上面的异常所涵盖的格式错误的语句。

事实上,您应该尽可能避免自己报价。要插入值,请改用SQLiteDatabase.insert()哪种方法将值插入SQLiteDatabaseAndroid上的正确方法它还对参数进行了正确的引用:

    db.beginTransaction();
    try {
        final ContentValues values = new ContentValues();
        values.put("DATABSE_NAME", DataBaseName);
        values.put("DATABSE_KEY", configDBPassword);

        db.insert(CipherCongfigTable, null, values);
        db.setTransactionSuccessful();
    } finally {
        db.endTransaction();
    }

始终正确引用您的SQL参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQLiteException:UPDATE语句中无法识别的令牌

android.database.sqlite.SQLiteException:无法识别的令牌

Finisar.SQLite.SQLiteException:SQL逻辑错误或缺少数据库:无法识别的令牌:“ $”

Powershell中无法识别的令牌错误

SQLite语句中无法识别的令牌

ReactJS无法识别的令牌导入

Android,SQLite无法识别的令牌

Sqlite'无法识别的令牌:“:” C ++

带有特殊字符的“无法识别的令牌”

“ sqlite3.operationalerror无法识别的令牌”错误

JSON解析错误:无法识别的令牌'<'-react-native

sqlite3 querySingle()无法识别的令牌“:”

SQLite异常-尝试更新表时无法识别的令牌

固定Fortran延续行中无法识别的令牌'&'

JSON解析错误:无法识别的令牌“ <”-React Native

JSON解析错误:无法识别的令牌“!” -哨兵发现错误

sqlite3.OperationalError:无法识别的令牌:“ \”

反应原生 JSON 解析错误:无法识别的令牌“<”

sqlite3.OperationalError:无法识别的令牌:“:”

无法识别的情况

无法将请求正文解析为json:无法识别的令牌

无法解析JSON文档:无法识别的令牌'$ util':预期为('true','false'或'null')

org.springframework.http.converter.HttpMessageNotReadableException,无法读取文档:无法识别的令牌

由于db中无法识别的令牌,无法插入sqlite数据库?

Spring Boot com.fasterxml.jackson.core.JsonParseException:无法识别的令牌

JsonParseException:无法识别的令牌“ http”:正在等待(“ true”,“ false”或“ null”)

使用Jackson处理自定义json中的“无法识别的令牌”异常

Spring Boot com.fasterxml.jackson.core.JsonParseException:无法识别的令牌“ Recipe”

Antlr4如何检测无法识别的令牌和给定的句子无效