在databaseHandler.java中:
WaitForSingleObject
插入方法:
public void Exec(String strSQL) {
OpenDB();
db.execSQL(strSQL);
CloseDB();
}
“内容”值包括HTML字符串。运行应用程序时,Android Studio显示:语法错误..
答案 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并不是一个好主意,这里的用例是什么。我相信会有更好的方法来实现它。