SQLite错误

最开始出现了空指针,mDbHelper = DBHelper.getInstance(mContext);有问题,最后找到原因,单例的位置逻辑判断错误,应该是if (mInstance == null)而不是if (mInstance != null)


另外还遇到了:

 Caused by: android.database.sqlite.SQLiteException: Can't upgrade read-only database from version 0 to 1: /data/data/com.example.createanddelesqlite/databases/newone.db

这个异常的原因是SQL语句发生错误,

private static final String SQLCREATE = "create table newtable (_id integer auto increament primary key,name txt,number integer);";//错误的 auto increament分开写可以建表 但是字段不会自增
private static final String SQLCREATE = "create table newtable (_id integer primary key auto increament,name txt,number integer);"//错误的

以下是正确的例子

db.execSQL("create table if not exists person (_id integer primarykey auto increment,name varhcar,uid integer,year integer,month integer,day integer,jid integer,sex integer);");
db.execSQL("create table if not exists job (_id integer primary key autoincrement,jid integer,post varchar);");
db.execSQL("insert into job values (null,1001,'测试');");
db.execSQL("create table if not exists configuration (_id integer primary key autoincrement,joinWeb integer,sharePosition integer);");
db.execSQL("create table if not exists suggestion (_id integer primary key autoincrement,jid integer,condition varchar,suggest text)");


你可能感兴趣的:(SQLite错误)