2016-05-18 17 views
0

2つのテーブルを作成しようとしていますが、1つのテーブルのキーが別のテーブルのキーになっています。ここに私の創造したコードです。Android SQLite、データベースの複数のテーブル、カラムが作成されていない

private static final String MESSAGE_TABLE_CREATE = 
     "CREATE TABLE " + MESSAGE_HISTORY + " (" + 
       MSG_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
       TASK_ID + " INTEGER, " + 
       RECEIVER + " TEXT, " + 
       SENDER + " TEXT, " + 
       CHAT_MSG + " TEXT, " + 
       SHOWUTCDATE + " TEXT, " + 
       FLAG + " TEXT, " + 
       NEWTIMESTAMP + " TEXT, " + 
       LAT + " TEXT, " + 
       LON + " TEXT, " + 
       IMAGE_URL + " TEXT, " + 
       DESTINATION + " TEXT, " + 
       ATTACHMENT_ID + " TEXT, " + 
       MIME + " TEXT, " + 
       SIZE + " TEXT, " + 
       EXTENSION + " TEXT, " + 
       IS_ACCEPTED + " TEXT, " + 
       USER_ID + " TEXT " + 
       ")"; 

private static final String VENDOR_TABLE_CREATE = 
     "CREATE TABLE " + VENDORS + " (" + 
       VENDOR_ID + " INTEGER PRIMARY KEY, " + 
       TASK_ID + "INTEGER, " + 
       RECEIVER + " TEXT, " + 
       SENDER + " TEXT, " + 
       VENDOR_NAME + " TEXT, " + 
       VENDOR_CONTENT + " TEXT, " + 
       VENDOR_STAR + " TEXT, " + 
       VENDOR_ADDRESS + " TEXT, " + 
       VENDOR_COMMENTS + " TEXT, " + 
       VENDOR_DISTANCE + " TEXT, " + 
       MOBILE + " TEXT, " + 
       PHONE + " TEXT, " + 
       LAT + " TEXT, " + 
       LON + " TEXT, " + 
       JUDESAYS + " TEXT " + 
       ")"; 


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

@Override 
public void onCreate(SQLiteDatabase db){ 
    db.execSQL(CURRENT_TABLE_CREATE); 
    db.execSQL(HISTORY_TABLE_CREATE); 
    db.execSQL(MESSAGE_TABLE_CREATE); 
    db.execSQL(VENDOR_TABLE_CREATE); 
} 

何らかの理由で、ベンダーのテーブルで「TASK_ID」列が作成されていません。

答えて

1

TASK_ID &の間にスペースがありません。INTEGERです。

TASK_ID + " INTEGER, " +

+0

感謝すべきであり、私の人生の2時間 –

+0

@AdamKatz、問題ありませんが:)そこに行きます。あなたはそれを答えとしてマークできますか? –

+0

私はちょうど義務的な時間が経過するのを待っていた –

関連する問題