안드로이드에서 데이터베이스에 추가 테이블을 생성하려고하는데 테이블에 관한 나의 이전 질문에 이어 계속하십시오.안드로이드에서 테이블 생성 SQL 명령어 실행하기
기본적으로,이 코드에 의해 그렇게되어 생성 될 데이터베이스 싶습니다 : 사용자가 계정을 추가 할 때 내가 좋아하는 것 그리고
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE);
}
을 테이블 계정의 이름을 사용자로 추가 입력되었습니다. 내가 만든 createTable() 메서드를 호출하려고합니다.
public void createAccount(String account) {
DATABASE_TABLE = account;
db.execSQL(TABLE_CREATE);
System.out.println(DATABASE_NAME);
}
그러나 이클립스는 변수를 찾을 수 없으므로 db가 작동하지 않습니다. mDb 내 SQLiteDatabase 시도하지만 null 포인터 예외가 나타납니다.
* 편집 *
정말 데이터베이스 주위에 내 머리를 얻을 수 없습니다. 나는 Dummies For 책과 데이터베이스 도우미를 사용하고 있지만, 지금 나는 어디에서부터 코드가 많이 발생하고 따르기가 어렵다고 느낍니다. 내의 createAccount 클래스에 호출
public void changeDatabase(String account) {
DATABASE_TABLE = account;
mDbHelper.createAccount(account);
}
이
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public void onCreate(SQLiteDatabase db) {
System.out.println(DATABASE_TABLE);
db.execSQL(TABLE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
onCreate(db);
}
public void createAccount(String account) {
DATABASE_TABLE = account;
/* SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("create table long ("
+ KEY_ROWID + " integer primary key autoincrement, "
+ KEY_DESCRIPTION + " text not null, "
+ KEY_DEBIT + " text not null);");
}
}
클래스의 하단 :
이 내 데이터베이스 클래스의 일부이다.
널 포인트 예외가 발생합니다. 이 코드를 보지 않고있다
당신은 CreateTable에서 방법을 공유 할 수 있습니까? – Soham
Soham, createAccount는 createTable 메소드입니다. 죄송합니다. –