2012-10-14 41 views
0

我正在使用sqlite3創建數據庫使用SQLiteOpenHelper類,但無法創建數據庫。使用的代碼如下:使用sqlite3在android中創建數據庫的問題

public class ABCHelper extends SQLiteOpenHelper { 

public static final String TABLE_COMMENTS = "comments"; 
public static final String COLUMN_ID = "_id"; 
public static final String COLUMN_COMMENT = "comment2"; 

private static final String DATABASE_NAME = "commments.db"; 
private static final int DATABASE_VERSION = 1; 

// Database creation sql statement 
private static final String DATABASE_CREATE = "create table " 
     + TABLE_COMMENTS + "(" + COLUMN_ID 
     + " integer primary key autoincrement, " + COLUMN_COMMENT 
     + " text not null);"; 

public ABCHelper(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
} 

@Override 
public void onCreate(SQLiteDatabase database) { 
    database.execSQL(DATABASE_CREATE); 
    Log.d("EventsData", "onCreate: " + DATABASE_CREATE); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    Log.w(ABCHelper.class.getName(), "Upgrading database from version " 
      + oldVersion + " to " + newVersion 
      + ", which will destroy all old data"); 
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_COMMENTS); 
    onCreate(db); 
} 
} 
+0

你得到的錯誤是什麼?包括LogCat打印 – RvdK

+2

歡迎來到SO。請改善你的問題,並詳細解釋你真正的問題是什麼。 '無法創建數據庫'是我們提供幫助的廣泛途徑。正如@PoweRoy提到的那樣,如果你得到一個包含logcat的堆棧跟蹤,或者告訴我們你期望應該發生什麼以及發生了什麼。 – WarrenFaith

+0

另外,請嘗試從「CREATE TABLE」語句的末尾刪除分號。 Android不太喜歡它們。 – Geobits

回答

0

如果將'text'更改爲VARCHAR(255),該怎麼辦?

相關問題