cursor 查询数据库某张表某一列最大值

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44326406/article/details/87886935

我想查出数据库某张表的其中一列的最大值,刚开始一直报错空指针,我查了好多文章都是说字段错误或别的原因,搞了半天发现是如下情况:注意语句是查max(OrderId)

		SQLiteDatabase sqld = moh.getWritableDatabase();

		
		Cursor cursor = sqld.rawQuery("select max(OrderId) from table_order", null);
	
		if (cursor.getCount() >=1 && cursor != null) {

			while (cursor.moveToNext()) {

				if (Integer.toString(cursor.getInt(cursor.getColumnIndex("max(OrderId)"))).equals(null)) {

					maxid = 0;
				} else {
					maxid = cursor.getInt(cursor.getColumnIndex("max(OrderId)"));
				}
			}
		} else {
			maxid = 0;
		}

我用这个语句在sqlite数据库中查是能查出数据。这里就报错。研究了半天,突然想到会不会是cursor中保存的是max(OrderId),因为数据库执行这个语句的返回结果是如下:

注意这个结果显示的就是max(OrderId),于是我尝试的把以前写的getColumnIndex("OrderId")改成上面代码中的max(OrderId),解决了问题。

展开阅读全文

没有更多推荐了,返回首页