2015-05-22 76 views
-2

我有我的數據庫如下。我添加了數據庫,當我插入它時返回-1。這裏有什麼缺失嗎?數據庫插入返回-1

編輯:

public static final String DETAILS_TABLE_CREATE = "CREATE TABLE IF NOT EXISTS " 
    + DETAILS_TABLE 
    + "(" 
    + DATABASE_KEY 
    + " INTEGER PRIMARY KEY , " 
    + DATABASE_ENT1 
    + " INT, " 
    + DATABASE_ ENT2 
    + " INT, " 
    + DATABASE_ ENT3 
    + " TEXT, " 
    + DATABASE_ENT4 
    + " TEXT, " 
    + DATABASE_ENT5 
    + " REAL, " 
    + DATABASE_ENT 
    + " REAL, " 
    + DATABASE_ENT7 
    + " TEXT, " 
    + DATABASE_ENT7 
    + " TEXT, " 
    + DATABASE_ENT8 
    + " TEXT, " 
    + DATABASE_ENT9 
    + " TEXT, " 
    + DATABASE_ENT10 
    + " TEXT, " 
    + DATABASE_ENT11 
    + " TEXT, " 
    + DATABASE_ENT12 
    + " TEXT " 
    + ")"; 

ContentValues values = new ContentValues(); 
values.put(DATABASE_ENT1, ent1); 
values.put(DATABASE_ENT2, ent2); 
values.put(DATABASE_ENT3, ent3); 

rowId = db.insert(DETAILS_TABLE_CREATE, null, 
       values); 

錯誤:

android.database.sqlite.SQLiteException:近 「CREATE」:語法錯誤(代碼1):在編譯:

回答

0

insert()函數的第一個參數必須是表名。 在這種情況下,這將是DETAILS_TABLE

(使用insertOrThrow得到一個有用的錯誤消息。)

+0

我添加了錯誤,表示它接近創建。 – JourneyWithAndroid

3

你'插入一個表的創建。這是絕對錯誤的。

執行原始查詢,而不是:

db.rawQuery(DETAILS_TABLE_CREATE, null); 
+0

我正在執行,當我的應用程序啓動爲db.execSQL(DatabaseConstants.TIMERESTRICTION_TABLE_CREATE);這創建表,但然後我使用ContentValues values = new ContentValues();併爲其添加值。 – JourneyWithAndroid

0

對不起,我使用的整個表創建的時候我不得不添加的表名。沒有看到。 謝謝。

相關問題