Android 在表中创建行
我正在尝试添加一个表行。但它没有添加。我签入了ddmsAndroid 在表中创建行,android,android-sqlite,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);
@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。任何人都可以帮我完成此操作。您忘记了空格 这: 应该是
static final String CREATE_DB_TABLE = " CREATE TABLE " + TABLE_NAME+ "("
+ id +" INTEGER PRIMARY KEY AUTOINCREMENT,"
+ name + " TEXT NOT NULL,"
+ trackNumber +" VARCHAR not null )";
[编辑]
由于已创建表(字段名和类型错误),因此需要重新创建表
为此,请将常量数据库\u VERSION的值增加到2,然后重新运行代码。这样,onUpgrade()方法将启动,因此删除并重新创建表。插入查询在哪里?现在将常量数据库版本的值增加到2,然后重试。这样,
onUpgrade()
方法将启动,因此删除并重新创建您的表。是的,它已成功添加。非常感谢。您能解释一下原因吗?onUpgrade()
仅当数据库版本值大于以前使用的版本值时,方法才会激发。我必须添加8个值,然后每次更改3、4或5都可以更改数据库版本,依此类推?否!!仅当您更改数据库结构时。当您修改表内容时不会。否则,每次都会销毁并重新创建表。内容也会丢失。
static final String CREATE_DB_TABLE = " CREATE TABLE " + TABLE_NAME+ "("
+ id +" INTEGER PRIMARY KEY AUTOINCREMENT,"
+ name + " TEXT NOT NULL,"
+ trackNumber +" VARCHAR not null )";