在我的部分应用程序中,我从移动设备获取日期并将其作为字符串存储在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();
答案 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)
同时强> 确保插入的日期格式与您与
匹配的日期相同