我正在尝试添加一个表格行。但它没有添加。我检查了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可以帮我解决这个问题。
答案 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()方法将触发,因此删除并重新创建表。