Android sqlite设置主键自增长的方法教程
作者:实习小编嘿 发布时间:2023-01-26 16:16:00
标签:android,sqlite,主键自增长
今天在APP中增加一个添加项目的功能,项目的主键为整数,要让它自增长。
既然要自增长,那么在代码里面就不用给id字段赋值。但是调试的时候发现不行,提示主键重复,观察了输出,不赋值的话,id默认为0,于是每次都为0,就重复了:
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的默认int为0了,所以,在对象层面,就算不赋值,id也默认是0。
因此,要从数据库操作层面来解决:
//cv.put(COLUMN_ID, source.getId());
v.put(COLUMN_NAME, source.getName());
ContentValue赋值时取消对id字段的赋值即可。
问题解决,可以自增长了。
总结
Android中,让sqlite主键自增长的条件如下:
1. 数据库中,设置字段为INTEGER,Primary,Autoincrement。
2. Java代码中,ContentValue赋值时忽略主键字段。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
来源:http://blog.csdn.net/zhouyingge1104/article/details/51276247
0
投稿
猜你喜欢
- 这个问题来来回回困扰了我很久,一直没能妥善解决。场景1:华为手机遮挡了屏幕底部。场景2:进入应用时,虚拟键自动缩回,留下空白区域。需求:需要
- Java中,将字节数组转成图片的有很多种方式,今天在这里记录其中一种,方便以后查询,也可以提供给没有接触的童鞋做一个参考。首先是将图片转成字
- 在上一节中,我带大家学习了详解SpringBoot集成Redis来实现缓存技术方案,尤其是结合Spring Cache的注解的实现方案,接下
- 错误信息Exception in thread "main" java.lang.ClassCastException:
- 前言最常用的对字符串操作的类有三个,分别是String,StringBuilder,StringBuffer,下面将会详细的说说这三个类..
- Controller如何进行重定向Spring MVC中进行重定向本人知道的有两种方式方法返回的URI(相对路径)中加上"redi
- 这里是通过对回退键操作的阻断并重写实现:当按下回退键,弹出提示框选择是否退出,是则执行退出代码,否则什么都不做。在Mianactivity中
- 这篇文章主要介绍了通过实例了解Java 8创建Stream流的5种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学
- 前言本文给大家分享一个使用Android开发写字板功能Dem、简单操作内存中的图像、对图像进行简单的处理、绘制直线、以达到写字板的效果效果图
- 本文主要为大家讲解多种Android调试工具的用法。 1. 查看当前
- 最近有学生做毕业设计,想使用悬浮窗这种效果,其实很简单,我们可以通过系统服务WindowManager来实现此功能,本章我们来试验一下在当前
- jpa之动态插入与修改(重写save)1.动态插入@Data@Entity@DynamicInsert@Table(name = "
- 前些天,有一个需求要用SpringBoot的多环境,当时没有系统学习springboot ,所以在网上找来找去的找到了一个解决方案,并写了一
- 前言平时开发经常会用到List等集合操作,在这里做一个小结java集合Collectionjava里面集合分为两大类:List和Set,下面
- 前言 红包文化源远流长。从古时的红色纸包,到手
- 脚本之家在以前介绍过关于C#创建、部署、调用WebService的教程,有兴趣的可以参阅:.NET C#创建WebService服务简单实例
- 布局布局效果如下,下面每个“网格”都是一个按钮,点击按钮,就会有相应的事件发生。由于UniformG
- 前言.NET中的委托是一个类,它定义了方法的类型,是一个方法容器。委托把方法当作参数,可以避免在程序中大量使用条件判断语句的情况。项目名为T
- Spring Boot除了可以打可执行jar包外,也支持传统的war包。本文介绍如何使用Spring Boot构建传统war包。Spring
- 本文介绍了Spring Boot 部署jar和war两种方式的区别,分享给大家,具体如下:1、 packaging的方式不同,一种设置成ja