2015-10-02 122 views
1

如何將外鍵插入表中?我有兩個表(Info和WorkDetails),其中WorkDetails有一個引用Info的外鍵。這是實施的正確方法嗎?將外鍵插入表中

MyDatabaseHelper.java

public void onCreate(SQLiteDatabase db) 
    { 
     db.execSQL("create table "+TABLE_INFO+"(ID INTEGER PRIMARY KEY ,Name TEXT,Weather TEXT, Date DATETIME, Status Text)"); 
     db.execSQL("create table"+TABLE_WORKDETAILS+"(ID INTEGER PRIMARY KEY , Project TEXT, WorkDescription TEXT, Per Text, TimeIn DATETIME, TimeOut DATETIME,TotalHours DATETIME, TableInfo_id INTEGER, FOREIGN KEY(TableInfo_id)REFERENCES TABLE_INFO(ID)"); 
    } 

WorkDetailsAPI.java

public class WorkDetailsAPI { 
    private SQLiteDatabase database; 
    private MyDatabaseHelper dbHelper; 
    public String[] allColumns={MyDatabaseHelper.ID2,MyDatabaseHelper.Project,MyDatabaseHelper.WorkDescription,MyDatabaseHelper.Per,MyDatabaseHelper.TimeIn,MyDatabaseHelper.TimeOut,MyDatabaseHelper.TotalHours,MyDatabaseHelper.TableInfo_id}; 

    public WorkDetailsAPI(Context context) 
        .... 
    public long insertWorkDetails(String project, String workDescription, String per,String timeIn,String timeOut,String totalHours) 
    { 
     database=dbHelper.getWritableDatabase(); 
     ContentValues values=new ContentValues(); 
     values.put(MyDatabaseHelper.Project,project); 
     values.put(MyDatabaseHelper.WorkDescription,workDescription); 
     values.put(MyDatabaseHelper.Per,per); 
     values.put(MyDatabaseHelper.TimeIn,timeIn); 
     values.put(MyDatabaseHelper.TimeOut,timeOut); 
     values.put(MyDatabaseHelper.TotalHours,totalHours); 
     database.insert(MyDatabaseHelper.TABLE_WORKDETAILS,null,values); 
     database.close(); 
     return 0 ; 

    } 

} 

WorkDetails.java

public void add() { 
    button.setOnClickListener 
     ..... 
      TI.insertTableInfo(name,weather,date,status); 
      WD.insertWorkDetails(a,b,c,d,e,f); // Do I need to include the foreign key? 
} 
+0

我會這樣想,你會如何將工作人員的詳細信息與TABLE_INFO中的相應條目聯繫起來? –

+0

所以我需要包含外鍵'WD.insertWorkDetails(a,b,c,d,e,f);'? – Hoo

回答

0

是你這樣做是正確的

+0

請參閱這裏...謝謝http://stackoverflow.com/questions/32900877/pass-data-to-another-class – Hoo