2011-05-21 24 views
0

我需要使用类来表示数据库实体,这里有一些信息:使用类来表示Android SQLite中的外键/连接表?

===表===

SHOP shop_id(主) 名 所有者

收藏夹列表 fav_id(小学) list_name

(JOIN)FAV_SHOPS fav_id(主) shop_id(初级)

如果我使用一个类商店来表示店铺实体,并且FavShops代表fav_shops,FavShops被写为如下:

class FavShop { 
    int fav_id; 
    String list_name; 
    NSSet<Shop> shops; 
} 

那么如何从SQLite(Android)的数据库检索fav_shops?我会很感激,如果任何人可以提供一些SQL语句,我还需要将列表保存到数据库,比如说,我添加了另一家店到FavShop“我的收藏夹”,我该如何将它保存回数据库?

谢谢!

+0

对不起,我是新来的堆栈溢出,但我怎样才能真正接受答案? – hzxu 2011-05-21 21:15:45

+0

点击并突出显示正确答案旁边的绿色勾号;) – BFil 2011-05-23 07:16:41

回答

1

您可以使用JOIN让你FavShops表..

SELECT * FROM fav_shops INNER JOIN favourites_list ON fav_shops.fav_id = favourite_list.fav_id WHERE favourite_list.fav_id = <YOUR_LIST_ID> 

你可以把你需要的任何条款的WHERE(shop_id =?,LIST_NAME =?等等)

而且在fav_shops表中插入新行

INSERT INTO fav_sops (fav_id, shop_id) values ('My Favourites', <A_SHOP_ID>); 
+0

谢谢,我会试试! – hzxu 2011-05-21 21:14:41

+0

此外,如果我使用Android和SQLite,是否有任何具体的方法像SQLiteDatabase.query包装SQL与“插入”的方法?我是否需要做一些类似于flush buffer的事情来确保数据已经写入了实际的数据库,或者我只是在最后关闭数据库并将其保存在本地? – hzxu 2011-05-21 21:22:25