0

我刚学安卓。我有一段使用 ContentValues 的工作代码:

我的常数:

public static final String TABLE_NAME = "numbers";
public static final String COL_ID = "_id";
public static final String COL_NUMBER = "number";

这样我创建表:

db.execSQL( "CREATE TABLE " + TABLE_NAME + "( " + COL_ID +
            " integer primary key autoincrement, " + COL_NUMBER +
            " integer not null );" );

通过这种方式,我将值添加到表中:

ContentValues values = new ContentValues();
values.put( SQLHelper.COL_NUMBER, 1 );
long id = db.insert( SQLHelper.TABLE_NAME, null, values );

它可以工作,但是当我用 rawQuery 替换插入时,它不再插入到表中:

db.rawQuery( "INSERT INTO " + SQLHelper.TABLE_NAME + " VALUES( NULL, 1 )", null );

我在哪里犯错?

谢谢。

4

1 回答 1

1

db.rawQuery --> 运行提供的 SQL 并在结果集上返回一个 Cursor。

db.execSQL--> 执行不是 SELECT/INSERT/UPDATE/DELETE 的单个 SQL 语句。

于 2012-07-04T10:20:26.563 回答