完整代码如下:

其中有大部分的代码被注释,那是可以成功运行的。

后来我想啊,游戏有好多种,但是需要统计的内容是一样的。

我就想传参 然后获得返回值的方式 来减少代码量啊。

但是把相关的查询代码放到 带参带返回值的方法中后 就报错了。

期间我debug了一下,发现 db = null 说明db的值没有哦。

所以我估计是db出了问题。

求各位大大看看有啥解决办法吧,谢谢!

package com.example.mscodescanner;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.widget.TextView;

import android.widget.Toast;

/**

* Created by jungege on 16/4/21.

*/

public class TicketsRecord extends AppCompatActivity{

//注册控件

private TextView mTv_TotalNum_Online; //中福在线 总张数

private TextView mTv_SurplusNum_Online; //中福在线 剩余张数

private TextView mTv_TotalValue_Online; //中福在线 总钱数

private TextView mTv_SurplusValue_Online; //中福在线 剩余钱数

//注册数据库

private DatabaseContext dbContext;

private SdCardDBHelper dbHelper;

private SQLiteDatabase db;

@Override

protected void onCreate( Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.record_layout);

init(); //初始化

statistical(); //执行统计

}

private void init() {

//实例化控件

mTv_TotalNum_Online = (TextView) findViewById(R.id.tv_TotalNum_Online);

mTv_SurplusNum_Online = (TextView) findViewById(R.id.tv_SurplusNum_Online);

mTv_TotalValue_Online = (TextView) findViewById(R.id.tv_TotalValue_Online);

mTv_SurplusValue_Online = (TextView) findViewById(R.id.tv_SurplusValue_Online);

//实例化数据库

dbContext = new DatabaseContext(TicketsRecord.this);

dbHelper = new SdCardDBHelper(dbContext);

db = dbHelper.getWritableDatabase(); //创建DB对象

}

private void statistical() {

//中福在线

// Cursor cursor_TotalNum = db.rawQuery("select * from Tickets where name = 0", null); //总张数

// Cursor cursor_SurplusNum = db.rawQuery("select * from Tickets where name = 0 and use = 1", null); //剩余张数

// Cursor cursor_TotalValue = db.rawQuery("select sum(price) from Tickets where name = 0", null); //总钱数

// Cursor cursor_SurplusValue = db.rawQuery("select sum(price) from Tickets where name = 0 and use = 1", null); //剩余钱数

//

// if (cursor_TotalNum.moveToFirst() && cursor_SurplusNum.moveToFirst() && cursor_TotalValue.moveToFirst() && cursor_SurplusValue.moveToFirst()){

//

// int count_TotalNum = cursor_TotalNum.getCount();

// int count_SurplusNum = cursor_SurplusNum.getCount();

// int count_TotalValue = cursor_TotalValue.getInt(0);

// int count_SurplusValue = cursor_SurplusValue.getInt(0);

//

// mTv_TotalNum_Online.setText(String.valueOf(count_TotalNum));

// mTv_SurplusNum_Online.setText(String.valueOf(count_TotalNum - count_SurplusNum));

// mTv_TotalValue_Online.setText(String.valueOf(count_TotalValue));

// mTv_SurplusValue_Online.setText(String.valueOf(count_TotalValue - count_SurplusValue));

//

// } else {

// mTv_TotalNum_Online.setText("没有记录");

// }

// //关闭游标

// cursor_TotalNum.close();

// cursor_SurplusNum.close();

// cursor_TotalValue.close();

// cursor_SurplusValue.close();

TicketsRecord hello = new TicketsRecord();

int wellcome = hello.statManage(0);

mTv_TotalNum_Online.setText(String.valueOf(wellcome));

}

//Statistical management

private int statManage(int name){

//Cursor cursor_TotalNum = db.rawQuery("select sum(price) from Tickets where name = ?", new String[]{String.valueOf(name)});

Cursor cursor_TotalNum = db.rawQuery("select sum(price) from Tickets where name = " + name, null); //总张数

cursor_TotalNum.moveToFirst();

int count_TotalNum = cursor_TotalNum.getColumnIndex("sum(price)");

cursor_TotalNum.close();

return count_TotalNum;

//return "欢迎您" + name + "!";

}

}

android cursor 实例化,为什么Cursor放到带参数带返回值方法里就报错?相关推荐

  1. C#多线程函数如何传参数和返回值

    提起多线程,不得不提起 委托(delegates)这个概念. 我理解的委托就是 具有 同样参数和返回值 的函数的集合. 比如 public delegate void MyDelegate(int a ...

  2. Python | 基于参数和返回值的功能分类

    There are following types of the functions based on their parameters and return values: 根据函数的参数和返回值, ...

  3. .net前台ajax,asp.net利用Ajax和Jquery在前台向后台传参数并返回值

    1----------前台 首先需要 Jquer的包 下面是 $(function () { $('#txtUserName').blur(function () { var username = $ ...

  4. java 参数返回_Java基础---Java中带参数返回值方法的使用(四十)

    Java 中带参带返回值方法的使用 如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法. 例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 Stri ...

  5. C#调用存储过程带输出参数或返回值分类(转)

    C#调用存储过程带输出参数或返回值 分类: Asp.net MSSQL2014-05-26 14:02 330人阅读 评论(0) 收藏 举报 [csharp] view plaincopyprint? ...

  6. Java基础---Java中带参数返回值方法的使用(四十)

    Java 中带参带返回值方法的使用 如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法. 例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 Stri ...

  7. 不显示参数名_第51p,万能参数与返回值,Python中函数的返回值

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第51篇文章,第三阶段的课程:Python进阶知识:详细讲解Python中的函数(四)====>函数的参数与返回值(下篇). ...

  8. py6_Python 内置函数/普通自定义函数 及参数和返回值

    ################################################## 目录 活动简介 Python 函数参数 如何定义一个函数 示例定义一个无参函数 形参和实参的概念 ...

  9. php 函数返回值mixed,认识函数的类型、参数与返回值

    函数的类型.参数与返回值 一.函数的基本语法语法 functionfunctionName(类型限定参数列表):返回值类型 { } 案例:计算两个数之和. functionsum(int$a,int$ ...

最新文章

  1. 2022-2028年中国农用塑料薄膜行业市场研究及前瞻分析报告
  2. There are 0 datanode(s) running and no node(s) are excluded in this operation.
  3. 我的Android进阶之旅------gt;Android中MediaRecorder.stop()报错 java.lang.RuntimeException: stop failed....
  4. C++实现各种选择排序(简单选择排序,堆排序)
  5. cad隐藏图层命令快捷键_cad快捷键f是什么命令?cad中f快捷键都有哪些?
  6. Can't use Subversion command line client:svn
  7. 亲戚的孩子说要寄养在我家,上学方便,怎么明确的拒绝?
  8. Debian 9 + Windows 10 双系统安装体验
  9. 物料分拣系统matlab仿真,基于PLC的物料分拣控制系统设计与仿真(含梯形图)
  10. 计算机键盘上fn键,键盘上的fn键有什么用?笔记本电脑键盘上的fn键作用大全
  11. API 夺命四连杀:接口如何设计?安全如何保证?签名如何实现?防重如何实现?...
  12. 2638: 黑白染色
  13. 计算机科学与技术以为舟,于哲舟-吉林大学计算机科学与技术学院
  14. nth-child 与 nth-of-type
  15. 计算机应用基础评价手册怎么填,《评价手册》填写说明(必填)
  16. 【Meetup预告】OpenMLDB+37手游:一键查收实时特征计算场景案例及进阶使用攻略
  17. 推荐几款简单的音视频编辑软件
  18. 你对信息系统项目管理师了解吗?值不值得考?
  19. 使用node+puppeteer破解验证码
  20. 迅雷All in区块链

热门文章

  1. 【机房重构】一步一步往上爬——验收给了我什么
  2. 自定义AlertDialog布局
  3. 论“性能需求分析”系列专题(一)之 性能需求剖析
  4. EhCache的配置
  5. SkGradientShader::CreateLinear 的参数。
  6. 详解python 3下文本文件的编解码
  7. python 中 feedparser的简单用法
  8. sql server在执行批处理时出现错误。错误消息为: 目录名无效
  9. 在ie8下ext显示的问题
  10. 程序员,如何摆脱平庸?