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

Can't match string which stored in SQLite

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

当我尝试 select 数据库中具有相同日期的行时,找不到任何匹配结果。

同样在下面的代码中,我试图获取 table 的特定单元格,我确定它与当前日期匹配。但没有匹配。

有什么想法吗?

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

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();

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

所以试试这个 -

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

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

尝试

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

如果您需要,不区分大小写

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

还有 确保插入的日期格式与您匹配的

相同