数据库插入不适用于Android

时间:2011-07-04 15:47:09

标签: android sqlite

嗨,我正在做一个Android应用程序,我有一个数据库。我能够进行查询,但插入似乎不起作用。我有一个名为profile的表,其中包含“id”,“name”和“original”字段。

这是方法:

public void addProfile(String name)
{       
myDataBase.rawQuery("INSERT INTO profile(name, original) values('"+name+"', '0')", null);       
}

我在做什么:

DataBaseHelper myDbHelper = new DataBaseHelper(activity);

    try {
        myDbHelper.createDataBase();
    } catch (IOException ioe) {
        throw new Error("Unable to create database");
    }

    try {
        myDbHelper.openDataBase();

    } catch (SQLException sqle) {
        throw sqle;
    }

    for(Profile p : profiles){
        myDbHelper.addProfile(p.getName());
        System.out.println("Commiting profile "+ p.getName());

在LogCat中,它正确显示“提交配置文件测试”。

我正在打开数据库:

    myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);

我到处寻找错误,我似乎无法找到它。是因为桌子上有“id”而不是“_id”吗?这不会影响SELECT吗?在我的选择中,我使用select id作为_id但在插入中我不知道如何做。

1 个答案:

答案 0 :(得分:4)

不允许使用rawQuery插入数据。您应该使用execSQL