在eclipse中的文件浏览器中没有创建sqlite数据库

时间:2012-07-26 10:15:48

标签: android sqlite

我创建数据库,但是当我运行应用程序时,数据库没有创建,并且catlog中没有错误请帮助我。 并且在fileexplorer / data / data中没有创建文件夹名称数据库 当我在MySQLiteHelper中打印一些东西到控制台时,控制台上没有任何打印。 请提前帮助我。

公共类MySQLiteHelper扩展了SQLiteOpenHelper {

public static final String TABLE_NAME_BOY = "question_boy";
public static final String ID_BOY = "_id";
public static final String QUESTION_BOY = "questions";
public static final String ANSWER_BOY = "answer";

public static final String TABLE_NAME_GIRL = "questions_girl";
public static final String ID_GIRL = "_id";
public static final String QUESTION_GIRL = "questions";
public static final String ANSWER_GIRL = "answer";

private static final String DATABASE_NAME = "bg.database";
private static final int DATABASE_VERSION = 3;

private static final String CREATE_TABLE_BOY = "create table "
        + TABLE_NAME_BOY + "(" + ID_BOY
        + "integer primary key autoincrement, " + QUESTION_BOY + " text, "
        + ANSWER_BOY + " text);";

private static final String CREATE_TABLE_GIRL = "create table "
        + TABLE_NAME_GIRL + "(" + ID_GIRL
        + "integer primary key autoincrement, " + QUESTION_GIRL + " text, "
        + ANSWER_GIRL + " text);";

public MySQLiteHelper(Context context, String name,
        CursorFactory factory, int version) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
    // TODO Auto-generated constructor stub
}

@Override
public void onCreate(SQLiteDatabase db) {
    // TODO Auto-generated method stub

    db.execSQL(CREATE_TABLE_BOY);
    db.execSQL(CREATE_TABLE_GIRL);

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub
    Log.w(MySQLiteHelper.class.getName(),

            "Upgrading database from version " + oldVersion + " to "

                        + newVersion + ", which will destroy all old data");

db.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME_BOY);
db.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME_GIRL);

onCreate(db);
}

}

2 个答案:

答案 0 :(得分:0)

除非您的设备已植根,否则无法访问该文件。

看看这个问题:

Android: Where are database files stored?

答案 1 :(得分:0)

这应该为你创建一个数据库......

public class DBHandler extends SQLiteOpenHelper {

    private SQLiteDatabase sqliteDatabaseInstance_ = null;

    public DBHandler(Context context){

        super(context, "TESTDATABASE.db", null, 1);
        sqliteDatabaseInstance_ = getWritableDatabase();
        sqliteDatabaseInstance_.execSQL("PRAGMA foreign_keys = ON;");
    }

@Override
    public void onCreate(SQLiteDatabase db) {

        try {

            db.execSQL("CREATE TABLE ACCOUNT (accountId INTEGER PRIMARY KEY, name TEXT)");

            db.execSQL("CREATE TABLE ORDER_DETAILS (orderNo INTEGER, accountId INTEGER," +
                    "FOREIGN KEY (accountId) REFERENCES ACCOUNT(accountId))");
        }catch (SQLiteConstraintException sqliteConstraintException) {

            System.out.println("sqliteConstraintException: " + sqliteConstraintException.getMessage());
        }catch (Exception e) {

            System.out.println("Exception in DBHandler.onCreate: "+e.getMessage());
        }
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}

}

你的db文件应该在.........

之下

转到文件资源管理器----->数据------>数据------> com.test -----> TESTDATA.db

希望这有帮助。