sqlite数据库android中插入值的异常

时间:2011-12-02 09:55:02

标签: android

我想在数据库表中插入默认值

我正在使用并将文本字符串放在下面:

  

INSERT INTO song_text VALUES(1,'告诉我女孩,它会是什么样的我   想要你,宝贝,你想要我你让我疯了,我失去了我   你的爱是真的,还是我浪费时间',1);

但它是例外:

  

12-02 14:11:37.860:ERROR / Database(568):失败1(接近“s”:语法   错误)在准备'INSERT INTO song_text时在0x247be8上   价值观(2,'告诉我女孩,它会是什么

请给出任何解决方案.. 感谢

2 个答案:

答案 0 :(得分:3)

你必须逃避撇号:

INSERT INTO song_text VALUES(1,'Tell me girl, what\'s it gonna be I want you, baby do you want me You got me going insane, I\'m losing my mind Is your love true, or am I wasting my time',1);

答案 1 :(得分:1)

你应该转义String的字符,因为对于什么是,它知道你已经完成了你的String。因此你应该使用:什么。

为了通用,您可以使用方法将所有'替换为'。例如,您可以使用:

private String convertString(String x) {
    return x = x.replace("'","\'");
}

希望这有帮助!