Android SQLiteLog:没有这样的表

Android SQLiteLog:没有这样的表,android,sqlite,tablename,Android,Sqlite,Tablename,关于我的应用程序:保存训练成绩-一个数据库和多个表(一个表是训练日志)。日期是表格的名称(例如d2016_08_09)。当用户按下“保存按钮”时,应用程序设置表名 public static final String DB_NAME ="db_workout";//name of base public static String DB_TABLE ="dateOfWorkout";//name of table public static final int DB_VER =1; publ

关于我的应用程序:保存训练成绩-一个数据库和多个表(一个表是训练日志)。日期是表格的名称(例如d2016_08_09)。当用户按下“保存按钮”时,应用程序设置表名

public static final String DB_NAME ="db_workout";//name of base
public static  String DB_TABLE ="dateOfWorkout";//name of table
public static final int DB_VER =1;

public static void setDbTable(String dbTable) {
    DB_TABLE = dbTable;
}

public Base(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, String db_table_name) {
    super(context, DB_NAME, null, DB_VER);
    setDbTable(db_table_name);
    System.out.println(DB_TABLE);
}


@Override


public void onCreate(SQLiteDatabase db){
    db.execSQL(
            "create table IF NOT EXISTS "+ DB_TABLE +"("
            + "nr integer primary key autoincrement,"
            + "name text,"
            + "s1 integer,"
            + "s2 integer,"
            + "s3 integer,"
            + "s4 integer,"
            + "s5 integer,"
            + "weight integer);"
            +"");

}

public void addWorkoutPlan(String i, int q, int w, int e, int r, int t, int wt) {
    SQLiteDatabase db = getWritableDatabase();
    ContentValues wartosci = new ContentValues();

    wartosci.put("name", i);
    wartosci.put("s1", q);
    wartosci.put("s2", w);
    wartosci.put("s3", e);
    wartosci.put("s4", r);
    wartosci.put("s5",t);
    wartosci.put("weight",wt);



    db.insertOrThrow(DB_TABLE, null, wartosci);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    //uzupelnic

}
以及我使用adddatetobase的类

sNameTable = "d"+sNameTable;
    db= new Base(this,null,null,0,sNameTable);

    bAddDate = (Button) findViewById(R.id.bAddDate);



    bAddDate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            setValues(); // setting values 





                for (int i = 0; i < 1; i++) {

                    db.addWorkoutPlan(
                            tName[0][i].toString(),//nazwa cwiczenia
                            Integer.parseInt(tSeries[0][i].getText().toString()),//1. seria
                            Integer.parseInt(tSeries[1][i].getText().toString()),
                            Integer.parseInt(tSeries[2][i].getText().toString()),
                            Integer.parseInt(tSeries[3][i].getText().toString()),
                            Integer.parseInt(tSeries[4][i].getText().toString()),
                            Integer.parseInt(tWeight[0][i].getText().toString())

                    );
                }

                Context context = getApplicationContext();
                CharSequence text = "Trening dodany";
                int duration = Toast.LENGTH_SHORT;
                Toast toast = Toast.makeText(context, text, duration);
                toast.show();


        }
    });
}
sNameTable=“d”+sNameTable;
db=新基(this,null,null,0,snateble);
baddate=(按钮)findViewById(R.id.baddate);
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
setValues();//设置值
对于(int i=0;i<1;i++){
db.addWorkoutPlan(
tName[0][i].toString(),//nazwa cwiczenia
Integer.parseInt(tSeries[0][i].getText().toString(),//1.seria
Integer.parseInt(tSeries[1][i].getText().toString()),
Integer.parseInt(tSeries[2][i].getText().toString()),
Integer.parseInt(tSeries[3][i].getText().toString()),
Integer.parseInt(tSeries[4][i].getText().toString()),
Integer.parseInt(tWeight[0][i].getText().toString())
);
}
Context=getApplicationContext();
CharSequence text=“Trening dodany”;
int duration=Toast.LENGTH\u SHORT;
Toast Toast=Toast.makeText(上下文、文本、持续时间);
toast.show();
}
});
}
当我按下按钮添加日期时,应用程序崩溃,AndroidStudio获取以下日志:

23190-23190/com.example.konra_000.workoutplan E/SQLiteLog:(1)无此类表格:d2016_08_09

23190-23190/com.example.konra_000.workoutplan E/AndroidRuntime:致命异常:主 流程:com.example.konra_000.workoutplan,PID:23190 android.database.sqlite.SQLiteException:没有这样的表:d2016\u 08\u 09 (代码1):,编译时:插入到 d2016_08_09(名称,s3,重量,s2,s1,s5,s4)值(?,,,,,,,,,,,?)


对SQLite数据库进行某些更改时,有时无法看到更改,因为创建数据库的逻辑没有优化


因此,您的设备上可能有较旧版本的数据库,只需卸载并重新安装应用程序。

当您对SQLite数据库进行一些更改时,有时无法看到更改,因为您创建数据库的逻辑没有优化


因此,您的设备上可能有旧版本的数据库,只需卸载并重新安装应用程序。

您不应该将信息放入表名中。将日期作为一个附加列。永远不要将信息放入表名中。将日期作为附加列。