問題很簡單,只需將它放在一行中:「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