gpt4 book ai didi

android - SQLite SELECT MAX() 查询向游标返回空值?

转载 作者:行者123 更新时间:2023-11-29 02:25:30 24 4
gpt4 key购买 nike

我有一个名为“TBL_EVO”的 SQLite 表,我想从“DATE_MODIFIED”列中获取最大值。通过以下查询,我在 SQLite 浏览器中得到了如下结果。

从“TBL_EVO”中选择最大值(DATE_MODIFIED);

enter image description here enter image description here

当我从我的应用程序的代码运行查询时,我得到了一个空指针异常。数据库与 SQLBrowser 中的数据库完全相同。因此 DATE_MODIFIED 及其值存在。它在 cursor.moveToFirst(); 处崩溃。即使我用 if(cursor.moveToFirst()) 包围它当我这样做时,代码跳转到其他地方。我做错了什么?

MainActivity.java

MySQLiteHelper db = new MySQLiteHelper(this);
String strDateTime = db.strSelectMaxDate(TableNames[intTableIDStart]);
Log.v("TBL_EVO_DATE_TIME: ", "-> "+strDateTime);

MySQLiteHelper.java - strSelectMaxDate

public String strSelectMaxDate(String strTable){
String strValueFromDB = "";
String queryMaxDate = "SELECT MAX(DATE_MODIFIED) FROM '" + strTable+"'";
Log.v("TBL_EVO_DATE_TIME_QUERY", queryMaxDate);
try{
db = this.getReadableDatabase();
cursor = db.rawQuery(queryMaxDate, null);
cursor.moveToFirst();
if(cursor == null){
strValueFromDB = "cursorisnull";
Log.v("TBL_EVO_DATE_TIME_VAL1", strValueFromDB);
}else {
strValueFromDB = cursor.getString(0);
Log.v("TBL_EVO_DATE_TIME_VAL2", cursor.getString(0));
}
}catch(Exception e){
Log.v("TBL_EVO_DATE_TIME_ERROR", "-> "+e);
strValueFromDB = "error: "+e;
}finally{
cursor.close();
db.close();
}
return strValueFromDB;
}

逻辑猫

09-24 15:24:23.207 21900-21917/com.spicysoftware.goexpert V/TBL_EVO_DATE_TIME_QUERY: SELECT MAX(DATE_MODIFIED) FROM 'TBL_EVO'
09-24 15:24:23.216 21900-21917/com.spicysoftware.goexpert V/TBL_EVO_DATE_TIME_ERROR: -> java.lang.NullPointerException: println needs a message
09-24 15:24:23.216 21900-21917/com.spicysoftware.goexpert V/TBL_EVO_DATE_TIME:: -> error: java.lang.NullPointerException: println needs a message

最佳答案

将您的 queryMaxDate 替换为:

String queryMaxDate = "SELECT MAX(DATE_MODIFIED) FROM " + strTable;

关于android - SQLite SELECT MAX() 查询向游标返回空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52482690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com