Android - 如何将HTML字符串插入SQLite

时间:2016-12-27 02:37:20

标签: android html sqlite insert

在databaseHandler.java中:

WaitForSingleObject

插入方法:

public void Exec(String strSQL) {
        OpenDB();
        db.execSQL(strSQL);
        CloseDB();
    }

“内容”值包括HTML字符串。运行应用程序时,Android Studio显示:语法错误..

3 个答案:

答案 0 :(得分:1)

您可以使用ContentValues插入数据,这样您就不必以html格式转义您的角色,例如“”或“”。

public void InsertData (int Id, String name, String content){
    int nr= db.CountRecord("select * from tbPosts where PostID="+Id+"");
    if(nr==0){
       ContentValues cv = new ContentValues();
       cv.put("id",id);
       cv.put("name",name);
       cv.put("content",content);
       db.insert("tbPosts",null,cv);
    }
}

在你的db helper类中:

public void insert(String tableName, String additional, ContentValues values) {
   db.insert(tableName,null,values);
}

答案 1 :(得分:0)

据我所知,Id是整数,因此在db.Exec命令中,它不应该用'“+ id +”'包装,而只能用“+ id +”包装。如果不能解决您的问题,请提供完整的错误日志

答案 2 :(得分:-1)

Content字符串包含不允许的特殊字符。引用java文档:

  

在任何不表示转义构造的字母字符之前使用反斜杠是错误的;这些保留用于将来对正则表达式语言的扩展。可以在非字母字符之前使用反斜杠,无论该字符是否是未转义构造的一部分。

无论如何,存储和查询HTML并不是一个好主意,这里的用例是什么。我相信会有更好的方法来实现它。