2013-01-01 88 views
0

這可能是一個愚蠢的問題,但我有找錯誤的麻煩。我有近「TEXT」語法錯誤,但我不知道在哪裏。我很確定我輸入的正確。創建SQLite表

public void onCreate(SQLiteDatabase db){ 
    db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" + 
       KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
       KEY_UNIQUE + " TEXT NOT NULL, " + 
       KEY_USERNAME + " TEXT NOT NULL, " + 
       KEY_PASSWORD + " TEXT NOT NULL, " + 
       KEY_IMAGE + " TEXT NOT NULL, " + 
       KEY_FULLNAME + " TEXT NOT NULL, " + 
       KEY_BDAY + " TEXT NOT NULL, " + 
       KEY_AGE + " TEXT NOT NULL, " + 
       KEY_SEX + " TEXT NOT NULL, " + 
       KEY_EMAIL + " TEXT NOT NULL, " + 
       KEY_WORK + " TEXT NOT NULL, " + 
       KEY_PROF + " TEXT NOT NULL, " + 
       KEY_FBUSERNAME + " TEXT NOT NULL, " + 
       KEY_FBPASSWORD + " TEXT NOT NULL, " + 
       KEY_YMUSERNAME + " TEXT NOT NULL, " + 
       KEY_YMPASSWORD + " TEXT NOT NULL, " + 
       KEY_GMUSERNAME + " TEXT NOT NULL, " + 
       KEY_GMPASSWORD + " TEXT NOT NULL, " + 
       KEY_SKUSERNAME + " TEXT NOT NULL, " + 
       KEY_SKPASSWORD + " TEXT NOT NULL);" 
       ); 
    } 
+4

安置自己的logcat的。你有大約20個「文字」。錯誤在哪裏? – CocoNess

+1

它有可能是你的KEY之一_?字符串有語法錯誤 – CocoNess

回答

0

由於您還沒有發佈Logcat,我們無法解決這個問題。

但是,一個方便的建議:如果你在數據庫CRUD操作專家,然後編寫查詢和使用方法rawQuery()執行它。

db.rawQuery("CREATE TABLE IF NOT EXISTS myTable (username TEXT, password TEXT)", null); 
2

我想你的代碼,它只是正常工作,你可以試試下面的代碼(更改數據庫,表和列的名字,因爲我已經使用測試的名稱)

public class dbHandler extends SQLiteOpenHelper{ 

// Database Version 
private static final int DATABASE_VERSION = 1; 

// Database Name 
private static final String DATABASE_NAME = "temp_database"; 



private static final String DATABASE_TABLE ="a"; 
private static final String KEY_ROWID ="b"; 
private static final String KEY_UNIQUE = "c"; 
private static final String KEY_USERNAME = "d"; 
private static final String KEY_PASSWORD = "e"; 
private static final String KEY_IMAGE = "f"; 
private static final String KEY_FULLNAME = "g"; 
private static final String KEY_BDAY = "h"; 
private static final String KEY_AGE = "i"; 
private static final String KEY_SEX = "j"; 
private static final String KEY_EMAIL = "k"; 
private static final String KEY_WORK = "l"; 
private static final String KEY_PROF = "m"; 
private static final String KEY_FBUSERNAME = "n"; 
private static final String KEY_FBPASSWORD = "o"; 
private static final String KEY_YMPASSWORD = "p"; 
private static final String KEY_YMUSERNAME = "q"; 
private static final String KEY_GMUSERNAME = "r"; 
private static final String KEY_GMPASSWORD = "s"; 
private static final String KEY_SKUSERNAME = "t"; 
private static final String KEY_SKPASSWORD = "u"; 

public dbHandler(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    Log.w("jndfjfs","this constructor is called"); 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 


    db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" + 
       KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
       KEY_UNIQUE + " TEXT NOT NULL, " + 
       KEY_USERNAME + " TEXT NOT NULL, " + 
       KEY_PASSWORD + " TEXT NOT NULL, " + 
       KEY_IMAGE + " TEXT NOT NULL, " + 
       KEY_FULLNAME + " TEXT NOT NULL, " + 
       KEY_BDAY + " TEXT NOT NULL, " + 
       KEY_AGE + " TEXT NOT NULL, " + 
       KEY_SEX + " TEXT NOT NULL, " + 
       KEY_EMAIL + " TEXT NOT NULL, " + 
       KEY_WORK + " TEXT NOT NULL, " + 
       KEY_PROF + " TEXT NOT NULL, " + 
       KEY_FBUSERNAME + " TEXT NOT NULL, " + 
       KEY_FBPASSWORD + " TEXT NOT NULL, " + 
       KEY_YMUSERNAME + " TEXT NOT NULL, " + 
       KEY_YMPASSWORD + " TEXT NOT NULL, " + 
       KEY_GMUSERNAME + " TEXT NOT NULL, " + 
       KEY_GMPASSWORD + " TEXT NOT NULL, " + 
       KEY_SKUSERNAME + " TEXT NOT NULL, " + 
       KEY_SKPASSWORD + " TEXT NOT NULL);" 
       ); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    // TODO Auto-generated method stub 

} 

} 

您可以訪問從其他活動如數據庫,

dbHandler mydb=new dbHandler(this); 
    mydb.getWritableDatabase();