在表中创建行

时间:2015-03-24 09:30:03

标签: android android-sqlite

我正在尝试添加一个表格行。但它没有添加。我检查了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 )";

我在数据库表中添加了trackNumber。它没有添加。我在ddms中检查过.Anyone可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

你忘记了空间......

此:

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 )";

<强> [编辑]

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

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