Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android SQLite一列的总计_Java_Android_Database_Sqlite - Fatal编程技术网

Java Android SQLite一列的总计

Java Android SQLite一列的总计,java,android,database,sqlite,Java,Android,Database,Sqlite,我有下面的应用程序,我正在努力开发。它是一个存款、取款跟踪系统,用于跟踪账户。所有数据都使用mysql存储在数据库中。我想获得数据库中该列的总数,但当我单击按钮显示总数时,总是会出现错误 这是我的密码 public class MainActivity extends Activity { String total; SQLiteDatabase db; @Override public void onCreate(Bundle savedInstanceSt

我有下面的应用程序,我正在努力开发。它是一个存款、取款跟踪系统,用于跟踪账户。所有数据都使用mysql存储在数据库中。我想获得数据库中该列的总数,但当我单击按钮显示总数时,总是会出现错误

这是我的密码

public class MainActivity extends Activity {
    String total;
    SQLiteDatabase db;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        db=openOrCreateDatabase("MyDB1",MODE_PRIVATE, null);
        db.execSQL("CREATE TABLE IF NOT EXISTS DepWith(total VARCHAR);");
    }
    public void data(View view)
    {
        EditText edittext1;
        edittext1 = (EditText)findViewById(R.id.Deposit);
        total=edittext1.getText().toString();
        int total1 = Integer.parseInt(total);

        db.execSQL("INSERT INTO DepWith VALUES('"+total+"');");


    }
    public void showdata(View view)
    {
        Cursor c=db.rawQuery("SELECT * from DepWith", null);
        int count= c.getCount();
        c.moveToFirst();
        TableLayout tableLayout = new TableLayout(getApplicationContext());
        tableLayout.setVerticalScrollBarEnabled(true);
        TableRow tableRow;
        TextView textView,textView1,textView2,textView3,textView4,textView5;
        tableRow = new TableRow(getApplicationContext());
        textView=new TextView(getApplicationContext());
        textView.setText("Total");
        textView.setTextColor(Color.RED);
        textView.setTypeface(null, Typeface.BOLD);
        textView.setPadding(20, 20, 20, 20);
        tableRow.addView(textView);
        tableLayout.addView(tableRow);
        for (Integer j = 0; j < count; j++)
        {
            tableRow = new TableRow(getApplicationContext());
            textView1 = new TextView(getApplicationContext());
            textView1.setText(c.getString(c.getColumnIndex("total")));

            textView1.setPadding(20, 20, 20, 20);

            tableRow.addView(textView1);

            tableLayout.addView(tableRow);
            c.moveToNext() ;
        }
        setContentView(tableLayout);
        db.close();
    }
    public void close(View view)
    {
        System.exit(0);
    }

    public void AddTotal(View view)
    {
        TextView tt;
        tt=(TextView)findViewById(R.id.tt);
        db=openOrCreateDatabase("MyDB1",MODE_PRIVATE, null);

        Cursor resultSet = db.rawQuery("Select sum(total) from DepWith",null);
        resultSet.moveToFirst();
        String results = resultSet.getString(0);

        tt.setText( results);
    }
}
公共类MainActivity扩展活动{
字符串总数;
sqlitedb数据库;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db=openOrCreateDatabase(“MyDB1”,模式_PRIVATE,null);
execSQL(“创建表,如果不存在DepWith(total VARCHAR);”;
}
公共无效数据(视图)
{
编辑文本编辑文本1;
edittext1=(EditText)findViewById(R.id.Deposit);
total=edittext1.getText().toString();
int total1=整数.parseInt(总计);
db.execSQL(“使用值(““+total+”);”)插入DEPSQL;
}
公共void showdata(视图)
{
游标c=db.rawQuery(“从DepWith中选择*”,null);
int count=c.getCount();
c、 moveToFirst();
TableLayout TableLayout=新的TableLayout(getApplicationContext());
tableLayout.setVerticalScrollBarEnabled(true);
TableRow TableRow;
文本视图文本视图,文本视图1,文本视图2,文本视图3,文本视图4,文本视图5;
tableRow=新的tableRow(getApplicationContext());
textView=新的textView(getApplicationContext());
textView.setText(“总计”);
textView.setTextColor(Color.RED);
textView.setTypeface(null,Typeface.BOLD);
设置填充(20,20,20,20);
tableRow.addView(textView);
tableLayout.addView(tableRow);
对于(整数j=0;j
这是我得到的崩溃错误

 java.lang.IllegalStateException: Could not execute method of the activity
            at android.view.View$1.onClick(View.java:3823)
            at android.view.View.performClick(View.java:4438)
            at android.view.View$PerformClick.run(View.java:18422)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.reflect.InvocationTargetException
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at android.view.View$1.onClick(View.java:3818)
            at android.view.View.performClick(View.java:4438)
            at android.view.View$PerformClick.run(View.java:18422)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: android.database.sqlite.SQLiteException: no such table: DepWith (code 1): , while compiling: Select sum(total) from DepWith
            at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
            at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
            at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
            at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
            at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
            at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
            at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
            at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314)
            at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1253)
            at com.example.app.MainActivity.AddTotal(MainActivity.java:86)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at android.view.View$1.onClick(View.java:3818)
            at android.view.View.performClick(View.java:4438)
            at android.view.View$PerformClick.run(View.java:18422)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)
java.lang.IllegalStateException:无法执行活动的方法
在android.view.view$1.onClick上(view.java:3823)
在android.view.view.performClick上(view.java:4438)
在android.view.view$PerformClick.run(view.java:18422)
位于android.os.Handler.handleCallback(Handler.java:733)
位于android.os.Handler.dispatchMessage(Handler.java:95)
位于android.os.Looper.loop(Looper.java:136)
位于android.app.ActivityThread.main(ActivityThread.java:5017)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:515)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
在dalvik.system.NativeStart.main(本机方法)
原因:java.lang.reflect.InvocationTargetException
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:515)
在android.view.view$1.onClick上(view.java:3818)
在android.view.view.performClick上(view.java:4438)
在android.view.view$PerformClick.run(view.java:18422)
位于android.os.Handler.handleCallback(Handler.java:733)
位于android.os.Handler.dispatchMessage(Handler.java:95)
位于android.os.Looper.loop(Looper.java:136)
位于android.app.ActivityThread.main(ActivityThread.java:5017)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:515)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
在dalvik.system.NativeStart.main(本机方法)
原因:android.database.sqlite.SQLiteException:没有这样的表:DepWith(代码1):,编译时:从DepWith中选择总和
位于android.database.sqlite.SQLiteConnection.nativePrepareStatement(本机方法)
位于android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
位于android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
位于android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
位于android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
位于android.database.sqlite.SQLiteQuery(SQLiteQuery.java:37)
位于android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
位于android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314)
位于android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1253)
位于com.example.app.MainActivity.AddTotal(MainActivity.java:86)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:515)
   ?
SQLiteDatabase db = openOrCreateDatabase("DepWith",MODE_PRIVATE,null);
db=openOrCreateDatabase("MyDB1",MODE_PRIVATE, null);
db=openOrCreateDatabase("MyDB1",MODE_PRIVATE, null);
SQLiteDatabase db = openOrCreateDatabase("DepWith",MODE_PRIVATE,null);  

    Cursor resultSet = db.rawQuery("Select sum(total) from DepWith",null);