在 table 中创建行

create row in a table

我正在尝试添加 table row.But 它没有 added.I 在 ddms 中检查。

@Override
    public Uri insert(Uri uri, ContentValues values) {
        long rowID = db.insert(TABLE_NAME, "", values);
        if (rowID > 0) {
            Uri _uri = ContentUris.withAppendedId(CONTENT_URI, rowID);
            getContext().getContentResolver().notifyChange(_uri, null);
            return _uri;
        }
        throw new SQLException("Failed to add a record into " + uri);
    }


static final int DATABASE_VERSION = 1;
static final String CREATE_DB_TABLE = " CREATE TABLE " + TABLE_NAME+ "("
            + id +"INTEGER PRIMARY KEY AUTOINCREMENT,"
            + name + "TEXT NOT NULL,"
            + trackNumber +"VARCHAR not null )";

我已经在数据库 table.It 中添加了 trackNumber added.I 未在 ddms.Anyone 中签入可以帮助我解决这个问题。

你忘了空格...

这个:

static final String CREATE_DB_TABLE = " CREATE TABLE " + TABLE_NAME+ "("
        + id +"INTEGER PRIMARY KEY AUTOINCREMENT,"
        + name + "TEXT NOT NULL,"
        + trackNumber +"VARCHAR not null )";

应该是

static final String CREATE_DB_TABLE = " CREATE TABLE " + TABLE_NAME+ "("
        + id +" INTEGER PRIMARY KEY AUTOINCREMENT,"
        + name + " TEXT NOT NULL,"
        + trackNumber +" VARCHAR not null )";

[编辑]

由于您的 table 已创建(字段名称和类型有误),您需要重新创建 table。

为此,将常量 DATABASE_VERSION 的值增加到 2,然后重新运行代码。
这样,将触发 onUpgrade() 方法,因此删除并重新创建 table.