试图将数据保存到SQLite的时候发生错误 [英] Error occur when trying to save data to SQLite

查看:166
本文介绍了试图将数据保存到SQLite的时候发生错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从 Project1.java 数据传递到 Claims.java ,并将其命名为名称结果。它们可以显示在 c.setText 。但是,当我想将它们保存在SQLite数据库,应用程序崩溃。

Claims.java

 字符串结果;
    字符串名称;
    FK = bundle.getLong(AB);         @覆盖
            公共无效的onActivityResult(INT申请code,INT结果code,意图数据){
                INT按钮= data.getIntExtra(K1,0);                如果(按钮== 1){
                    开关(要求code){
                        情况下0:
                            结果= data.getStringExtra(文字);
                            名称= data.getStringExtra(一);
                             如=的Long.parseLong(结果);
                            c.setText(+姓名+------+RM+结果);
                            打破;                        情况1:
                             结果= data.getStringExtra(文字);
                            名称= data.getStringExtra(一);
                             如=的Long.parseLong(结果);
                            c.setText(+姓名+------+RM+结果);
                            打破;     button.setOnClickListener(新View.OnClickListener(){
                公共无效的onClick(查看为arg0){                    如果((名称= NULL&放大器;!&安培; name.trim()长()大于0)及及(结果=空&安培;!&安培; result.trim()长()0) ){
                        SB.insertStaffBenefit(名称,结果,FK);                    }其他{
                        Toast.makeText(getActivity(),A,Toast.LENGTH_LONG).show();
                    }                }            });


  

11-04 17:09:40.876 20272-20272 / com.example.project.project
  E / AndroidRuntime:致命异常:主要
      工艺:com.example.project.project,PID:20272
      显示java.lang.NullPointerException
              在com.example.project.project.Claims $ 7.onClick(Claims.java:153)
              在android.view.View.performClick(View.java:4654)


确实像什么@Mohit建议后,现在我得到另一个错误


  

1月11日至5日:45:01.612 2505年至2505年/ com.example.project.project
  E / AndroidRuntime:致命异常:主要
      工艺:com.example.project.project,PID:2505
      显示java.lang.NullPointerException:试图调用虚拟方法长
  com.example.project.project.API.StaffAPI.insertStaffBenefit(java.lang.String中,
  java.lang.String中,长)对空对象引用
              在com.example.project.project.Claims $ 7.onClick(Claims.java:153)



解决方案

 字符串结果=;
字符串名称=;

I have pass the data from Project1.java to Claims.java and named them to name and result. They can show on c.setText. But when I want to save them in SQLite database, app crashed.

Claims.java

  String result;
    String name;
    fk = bundle.getLong("ab");

         @Override
            public void onActivityResult(int requestCode, int resultCode, Intent data) {
                int button = data.getIntExtra("k1", 0);

                if (button == 1) {
                    switch (requestCode) {
                        case 0:
                            result = data.getStringExtra("text");
                            name = data.getStringExtra("a");
                             as=Long.parseLong(result);
                            c.setText("            " + name + "------" + "RM " + result);
                            break;

                        case 1:
                             result = data.getStringExtra("text");
                            name = data.getStringExtra("a");
                             as=Long.parseLong(result);
                            c.setText("            " + name + "------" + "RM " + result);
                            break;

     button.setOnClickListener(new View.OnClickListener() {
                public void onClick(View arg0) {

                    if ((name != null && name.trim().length() > 0) && (result != null && result.trim().length() > 0)) {
                        SB.insertStaffBenefit(name, result, fk);

                    } else {
                        Toast.makeText(getActivity(), "A", Toast.LENGTH_LONG).show();
                    }

                }

            });

11-04 17:09:40.876 20272-20272/com.example.project.project E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.example.project.project, PID: 20272 java.lang.NullPointerException at com.example.project.project.Claims$7.onClick(Claims.java:153) at android.view.View.performClick(View.java:4654)

After did like what @Mohit suggested, now I get another error

11-05 01:45:01.612 2505-2505/com.example.project.project E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.example.project.project, PID: 2505 java.lang.NullPointerException: Attempt to invoke virtual method 'long com.example.project.project.API.StaffAPI.insertStaffBenefit(java.lang.String, java.lang.String, long)' on a null object reference at com.example.project.project.Claims$7.onClick(Claims.java:153)

解决方案

String result = "";
String name = "";

这篇关于试图将数据保存到SQLite的时候发生错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆