欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

Source source = new Source(); 
source.setName(dict.getName());//id沒有賦值 
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沒有賦值,為什么是0呢?那就是Java的默認(rèn)int為0了,所以,在對象層面,就算不賦值,id也默認(rèn)是0。

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

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

ContentValue賦值時取消對id字段的賦值即可。

問題解決,可以自增長了。

總結(jié)

Android中,讓sqlite主鍵自增長的條件如下:

   

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

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

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

相關(guān)文章

最新評論