public class MySQLite extends SQLiteOpenHelper{ private static final String DB_NAME = "test.db"; private static final String TABLE_NAME ="user"; private static final int DB_VERSION = 1; //应该是一个结构体中的元素;用于sql命令的书写 private static final String ID = "id"; private static final String NAME = "name"; private static final String GENDER = "gender"; private static final String TELEPHONE = "telphone";
private static final String CREATE_DB_SQL = "CREATE TABLE" + TABLE_NAME + "("+ID + "integer primary key autoincrement,"+NAME +"text not null,"+GENDER +"text,"+ TELEPHONE +"integer" +")"; private static final String UPGRADE_SQL = "ALTER TABLE " + TABLE_NAME + " ADD COLUMN " + " money float "; //sql的构造函数; public MySQLite(Context context,String name,CursorFactory factory,int version){ super(context,DB_NAME,null,version); } public void onCreate(SQLiteDatabase db){ db.execSQL(CREATE_DB_SQL);//磁盘上没有时,要创建一个;对象也许已有,但磁盘上还没显示 } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub db.execSQL(UPGRADE_SQL); }
那应该是MySQLite里面的问题,另外,把异常log也贴出来,mysql空指针?
public class MySQLite extends SQLiteOpenHelper{
private static final String DB_NAME = "test.db";
private static final String TABLE_NAME ="user";
private static final int DB_VERSION = 1;
//应该是一个结构体中的元素;用于sql命令的书写
private static final String ID = "id";
private static final String NAME = "name";
private static final String GENDER = "gender";
private static final String TELEPHONE = "telphone";
private static final String CREATE_DB_SQL = "CREATE TABLE" + TABLE_NAME +
"("+ID + "integer primary key autoincrement,"+NAME +"text not null,"+GENDER
+"text,"+ TELEPHONE +"integer" +")";
private static final String UPGRADE_SQL = "ALTER TABLE " + TABLE_NAME
+ " ADD COLUMN " + " money float ";
//sql的构造函数;
public MySQLite(Context context,String name,CursorFactory factory,int version){
super(context,DB_NAME,null,version);
}
public void onCreate(SQLiteDatabase db){
db.execSQL(CREATE_DB_SQL);//磁盘上没有时,要创建一个;对象也许已有,但磁盘上还没显示
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL(UPGRADE_SQL);
}
}回复1,2,3,4楼~~这是我对SQLiteOpenHelper()方法的实现~~~希望各位不吝指教
private static final String CREATE_DB_SQL = "CREATE TABLE" + TABLE_NAME +
"("+ID + "integer primary key autoincrement,"+NAME +"text not null,"+GENDER
+"text,"+ TELEPHONE +"integer" +")";
缺少必要的空格?
private static final String CREATE_DB_SQL = "CREATE TABLE " + TABLE_NAME +
" ("+ID + " integer primary key autoincrement,"+NAME +" text not null,"+GENDER
+" text,"+ TELEPHONE +" integer" +")";