无法匹配存储在SQLite中的字符串

时间:2016-03-17 07:18:35

标签: android database android-sqlite

在我的部分应用程序中,我从移动设备获取日期并将其作为字符串存储在SQLite数据库中。

当我尝试从数据库中选择具有相同日期的行时,无法找到任何匹配结果。

同样如下面的代码,我试图得到表格的特定单元格,我确定它与当前日期相匹配。但没有匹配。

有什么想法吗?

从手机获取日期并将其作为字符串插入。

String currentDateString = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
MyDB.insertRow(currentDateString);

检查数据库中的日期是否等于移动日期。

if (MyDB.getRow(21).getString(1).toString()==currentDateString)
Toast.makeText(getBaseContext(),"Match",Toast.LENGTH_SHORT).show();

2 个答案:

答案 0 :(得分:1)

您使用Strings运算符与Java中的==不匹配。您使用.equals()方法,因为String不是基本类型。

所以试试这个 -

if (MyDB.getRow(21).getString(1).toString().equals(currentDateString))

答案 1 :(得分:1)

字符串与==运算符不匹配,因为它是一个对象。

<强>尝试

 MyDB.getRow(21).getString(1).toString().equals(currentDateString)

如果您需要不区分大小写

 MyDB.getRow(21).getString(1).toString().equalsIgnoreCase(currentDateString) 

同时 确保插入的日期格式与您与

匹配的日期相同