代码
db.execSQL("create table " + TABLE_WORKDETAILS + "( " + ID2 + " INTEGER PRIMARY KEY , Project TEXT, WorkDescription TEXT, Per Text, TimeIn DATETIME, TimeOut DATETIME, Twf_id INTEGER, FOREIGN KEY(Twf_id) REFERENCES "+TABLE_WORKFORCE+ "(ID))");
db.execSQL("create table " + TABLE_STAFF_BENEFICT + "( " + ID3 + " INTEGER PRIMARY KEY , Description TEXT , Amount TEXT, Twd_id INTEGER, FOREIGN KEY(Twd_id) REFERENCES + "+ TABLE_WORKDETAILS+ "(Twf_id))");
LogCat错误
java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.project.project / com.example.project.project.CameraMain}: android.database.sqlite.SQLiteException:near" +":语法错误(代码 1):,编译时:创建表StaffBenefict(_id INTEGER PRIMARY KEY,描述文本,数量TEXT,Twd_id INTEGER,FOREIGN KEY(Twd_id)REFERENCES + WorkDetails(Twf_id)) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2413)
答案 0 :(得分:0)
只需在REFERENCES
之后删除额外的 + ,此处
db.execSQL("create table " + TABLE_STAFF_BENEFICT + "( " + ID3 + " INTEGER PRIMARY KEY , Description TEXT , Amount TEXT, Twd_id INTEGER, FOREIGN KEY(Twd_id) REFERENCES + "+ TABLE_WORKDETAILS+ "(Twf_id))");
必须是
db.execSQL("create table " + TABLE_STAFF_BENEFICT + "( " + ID3 + " INTEGER PRIMARY KEY , Description TEXT , Amount TEXT, Twd_id INTEGER, FOREIGN KEY(Twd_id) REFERENCES "+ TABLE_WORKDETAILS+ "(Twf_id))");