且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Android:如何使用父表Sqlite联接子表

更新时间:2023-02-05 10:17:23

您可以在学生表中使用学院名称作为外键确保您的两个列表都具有不同的列名只要确保COLUMN_ID ="id",比COLUMN_ID ="s_id"

you can use the college name as a foreign key in the student table make sure your both column table have different column name just make sure COLUMN_ID = "id" than COLUMN_ID ="s_id"

//数据库名称公共静态最终字符串DATABASE_NAME ="details.db";

// Database Name public static final String DATABASE_NAME = "details.db";

        // Table 1
        public static final String TABLE_NAME = "CollegeName";
        public static final String COLUMN_ID = "c_ID";
        public static final String COLUMN_TITLE = "college_NAME";
        private static final String COLUMN_IMAGE = "image_bitmap";
    
        // Table 2
        private static final String TABLE2_NAME = "studentsName";
        public static final String COLUMN1_ID = "s_ID";
        public static final String COLUMN2_TITLE = "students_NAME";


public void onCreate(SQLiteDatabase sqLiteDatabase) {

        String query =
                "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + "("
                        + COLUMN_ID + " INTEGER PRIMARY KEY  ,"
                         + COLUMN_TITLE + " TEXT, "
                + COLUMN_IMAGE + " BLOB );";

        sqLiteDatabase.execSQL(query);

        String query1 =
                "CREATE TABLE IF NOT EXISTS " + TABLE2_NAME + "("
                        + COLUMN1_ID + " INTEGER PRIMARY KEY ,"
                        + COLUMN2_TITLE + "  TEXT ,"
                        + COLUMN_C_ID + " INTEGER, " + "FOREIGN KEY("+ 
                   COLUMN_C_ID +") " 
     + "REFERENCES " + TABLE_NAME +"("+COLUMN_ID +")"+ ");";


        sqLiteDatabase.execSQL(query1);

    }