亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android sqlite設(shè)置主鍵自增長(zhǎng)的方法教程

 更新時(shí)間:2017年06月20日 10:20:04   作者:實(shí)習(xí)小編嘿  
這篇文章主要給大家介紹了關(guān)于Android sqlite設(shè)置主鍵自增長(zhǎng)的方法教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。

今天在APP中增加一個(gè)添加項(xiàng)目的功能,項(xiàng)目的主鍵為整數(shù),要讓它自增長(zhǎng)。

既然要自增長(zhǎng),那么在代碼里面就不用給id字段賦值。但是調(diào)試的時(shí)候發(fā)現(xiàn)不行,提示主鍵重復(fù),觀察了輸出,不賦值的話,id默認(rèn)為0,于是每次都為0,就重復(fù)了:

Source source = new Source(); 
source.setName(dict.getName());//id沒(méi)有賦值 
SourceManager.get(this).insert(source); 
ContentValues cv = new ContentValues(); 
System.out.println("id: " + source.getId());//輸出,id每次都是0 
cv.put(COLUMN_ID, source.getId()); 
cv.put(COLUMN_NAME, source.getName()); 

id沒(méi)有賦值,為什么是0呢?那就是Java的默認(rèn)int為0了,所以,在對(duì)象層面,就算不賦值,id也默認(rèn)是0。

因此,要從數(shù)據(jù)庫(kù)操作層面來(lái)解決:

//cv.put(COLUMN_ID, source.getId()); 
v.put(COLUMN_NAME, source.getName()); 

ContentValue賦值時(shí)取消對(duì)id字段的賦值即可。

問(wèn)題解決,可以自增長(zhǎng)了。

總結(jié)

Android中,讓sqlite主鍵自增長(zhǎng)的條件如下:

   

      1. 數(shù)據(jù)庫(kù)中,設(shè)置字段為INTEGER,Primary,Autoincrement。

      2. Java代碼中,ContentValue賦值時(shí)忽略主鍵字段。

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論