public class FlagDao {
    private static final String TABLE_NAME_SAVE ="tb_flagdao";
    private static final String[] SAVE_COLUMS = {"_id","flag"};    private DBopenHelper helper;
    private SQLiteDatabase db;    public FlagDao(Context context) {
        helper = new DBopenHelper(context);
        db = helper.getWritableDatabase();
    }
    public void insert(Flag_Data data){
        ContentValues values = new ContentValues();
        values.put(SAVE_COLUMS[1],data.getFlag());        db.insert(TABLE_NAME_SAVE,null,values);
    }    public List<String> quaryALL(){
        List<String> result = new ArrayList<String>();
        String strIncomeItem;        Cursor cursor = db.query(TABLE_NAME_SAVE,null,null,null,null,null,null);
        while(cursor.moveToNext()){
            strIncomeItem = cursor.getInt(0)+" | "+cursor.getString(1);
            result.add(strIncomeItem);
        }
        return result;
    }
}public class bianqianguanli extends AppCompatActivity {
    private FlagDao flagDao;
    private ListView listView;
    private ArrayAdapter<String>arrayAdapter;    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bianqianguanli);        flagDao = new FlagDao(this);
        listView = findViewById(R.id.query_all);        arrayAdapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,flagDao.quaryALL());
        listView.setChoiceMode(ListView.CHOICE_MODE_NONE);
        listView.setAdapter(arrayAdapter);
    }
}
其中        Cursor cursor = db.query(TABLE_NAME_SAVE,null,null,null,null,null,null);
还有        arrayAdapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,flagDao.quaryALL());两行报错
android.database.sqlite.SQLiteException: no such table: tb_flagdao (code 1): , while compiling: SELECT * FROM tb_flagdao

解决方案 »

  1.   

    @m-oj 
    public class DBopenHelper extends SQLiteOpenHelper {
        private static final String DATABASE_NAME = "FLAG_DATA";
        public DBopenHelper(Context context) {
            super(context,DATABASE_NAME,null,1);
        }    @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL("create table tb_flagdao(_id integer primary key autoincrement,flag text)");
        }    @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {    }
    }
      

  2.   

    public class DBopenHelper extends SQLiteOpenHelper {
        private static final String DATABASE_NAME = "FLAG_DATA";
        public DBopenHelper(Context context) {
            super(context,DATABASE_NAME,null,1);
        }    @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL("create table tb_flagdao(_id integer primary key autoincrement,flag text)");
        }    @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {    }
    }