尝试在SQLite数据库中插入日期和时间时,应用程序崩溃

时间:2017-09-19 18:01:16

标签: android sqlite android-sqlite

我正在尝试制作一个Android浏览器,使用SQLite数据库存储历史记录,书签等。当我插入书签时它工作正常但是当输入历史记录时应用程序崩溃。此外,在Android 7.0中一切正常。

这就是我尝试在数据库中插入历史记录的方法。

browser_data.execSQL("Insert into tb_history values('"+DateFormat.getDateTimeInstance().format(new Date())+"', '"+SqlCompatible(view.getTitle())+"' , '"+SqlCompatible(ac_sub)+"', '"+SqlCompatible(view.getUrl())+"');");

public static String SqlCompatible(String str){
    str = str.replaceAll("'", "''");
    return str;
}

书签和历史记录表只有一个区别,即历史记录表中的额外时间和日期列。

另外我很确定在我检查表时正确创建了表,并且它在android 7.0中工作,我也检查了logcat但没有发现任何可疑之处。如果你们想要它,我可以发布它。

2 个答案:

答案 0 :(得分:1)

如果您将这些导入文件用于日期

import android.icu.text.DateFormat;
import java.text.SimpleDateFormat;

然后尝试用

替换它们
import java.text.DateFormat;

至少它为我解决了这个问题。希望它也适合你。

答案 1 :(得分:0)

将新的Date()转换为字符串并尝试插入。因为日期列属性可能是字符串或文本