问题很简单,只需将它放在一行中:“Android的SQLiteDatabase的insert()函数尝试以随机方式添加值”。db.insert add values random?
含义:
// Database creation sql statement
private static final String DATABASE_CREATE = "create table "
+ TABLE_NAME
+"("
+ COLUMN_ID + " integer primary key autoincrement, "
+ COLUMN_LATITUDE + "integer,"
+ COLUMN_LONGTITUDE + "integer,"
+ COLUMN_TITLE + "text,"
+ COLUMN_TEXT + " text not null"
+ ");";
当我把这些值,并尝试将其插入:
values.put(COLUMN_ID, marker.getId());
values.put(COLUMN_LATITUDE, marker.getLatitude() ); // lat
values.put(COLUMN_LONGTITUDE, marker.getLongtitude()); // long
values.put(COLUMN_TITLE, marker.getTitle() ); // Title
values.put(COLUMN_TEXT, marker.getText()); // Text
// Inserting Row
db.insert(TABLE_NAME, null, values);
,但我得到的错误是: E /数据库(2542):android.database .sqlite.SQLiteException:表项目没有命名为long的列:,同时编译:INSERT INTO项目(经度,文本,标题,纬度,_id)VALUES(?,?,?,?,?);
所以我想是试图把经常在哪里的Id和导致错误。
我的假设是正确的吗?我需要改变什么?
在运行插入之前,请确保您的表存在。你可以通过在插入处设置一个断点来实现,然后使用adb连接到你的sqlite数据库并运行一个.tables命令 – Shellum 2012-03-21 21:43:46
好点。我会检查是否尽快 – t0s 2012-03-21 21:45:47
你是对的查克。那么我怎样才能让它干净,在开始插入之前创建? – t0s 2012-03-21 21:54:24