社区
C#
帖子详情
关于SQLite 插入数据取主键的问题
CopyReg
2011-07-07 04:09:01
我用SQLite ADO.NET 在vs2005上弄了个数据库。
我想问下,我把一个字段,例如ID设置为主键(自动增长)
当我用insert 语句加入之后,怎么才能取到加入的这条数据的ID值呢?
我起初是用select语句在insert后把最后一个记录的ID取下来。
发现有点麻烦,而且不稳当。
来这里求个方法,最好是SQLite自带的。
...全文
425
2
打赏
收藏
关于SQLite 插入数据取主键的问题
我用SQLite ADO.NET 在vs2005上弄了个数据库。 我想问下,我把一个字段,例如ID设置为主键(自动增长) 当我用insert 语句加入之后,怎么才能取到加入的这条数据的ID值呢? 我起初是用select语句在insert后把最后一个记录的ID取下来。 发现有点麻烦,而且不稳当。 来这里求个方法,最好是SQLite自带的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CopyReg
2011-07-07
打赏
举报
回复
[Quote=引用 1 楼 fhpu168 的回复:]
Insert into Table (column) value (....);
select @@Identity as Id
[/Quote]
感谢!
fhpu168
2011-07-07
打赏
举报
回复
Insert into Table (column) value (....);
select @@Identity as Id
数据
库转
sqlite
数据
库
access库转
sqlite
库 1、可以转换access表中的
主键
、自增长字段、字段类型、字段长度、索引等 2、因
sqlite
不支持表属性(表描述)、字段描述, 程序会把这些信息存入access_table,access_column表中以供参考 3、如果access库中 自增长的字段autoId不是为
主键
,而name字段为
主键
在
sqlite
中,如果字段为自增长,则必须为
主键
,碰到这种情况,程序是这样处理的 字段autoId: 因为是自增长字段,必须设置为
主键
字段name:去掉
主键
属性,加上一个唯一索引 4、
插入
数据
时,有启用
sqlite
的事务处理 5、实测,access库中有33张表,总共45万多条
数据
(有张表334613条记录),所花时间1243.078秒 电脑配置:cpu:E7500,内存2G 6、导入
数据
时,是一次性打开access表的,并循环一条条
插入
,如果有太多的
数据
,如百W,则没测试过 没启用成批
插入
数据
,不知启用成批
插入
数据
,性能会不会成倍的提升。 7、
sqlite
下,默认是区分大小写的,而access没有,故把字符类型的字段的Collate设置为NOCASE 8、开发所用时间:一周左右(业余时间) 9、开发环境:delphi6+xp
access库转
sqlite
库
access库转
sqlite
库 1、可以转换access表中的
主键
、自增长字段、字段类型、字段长度、索引等 2、因
sqlite
不支持表属性(表描述)、字段描述, 程序会把这些信息存入access_table,access_column表中以供参考 3、如果access库中 自增长的字段autoId不是为
主键
,而name字段为
主键
在
sqlite
中,如果字段为自增长,则必须为
主键
,碰到这种情况,程序是这样处理的 字段autoId: 因为是自增长字段,必须设置为
主键
字段name:去掉
主键
属性,加上一个唯一索引 4、
插入
数据
时,有启用
sqlite
的事务处理 5、实测,access库中有33张表,总共45万多条
数据
(有张表334613条记录),所花时间1243.078秒 电脑配置:cpu:E7500,内存2G 6、导入
数据
时,是一次性打开access表的,并循环一条条
插入
,如果有太多的
数据
,如百W,则没测试过 没启用成批
插入
数据
,不知启用成批
插入
数据
,性能会不会成倍的提升。 7、
sqlite
下,默认是区分大小写的,而access没有,故把字符类型的字段的Collate设置为NOCASE 8、开发所用时间:一周左右(业余时间)
SQLite
数据
库管理相关命令的使用介绍
1.创建
数据
库 启动命令行,通过输入如下命令打开Shell模式的CLP:
sqlite
3 test.db 虽然我们提供了
数据
库名称,但如果该
数据
库不存在,
SQLite
实际上就未创建该
数据
库,直到在
数据
库内部创建一些内容时,
SQLite
才创建该
数据
库。 2.创建
数据
表
sqlite
> create table Member(id integer primary key, name text, age integer,addr text); 注:id为
主键
,该列默认具备自动增长的属性。 3.
插入
数据
sqlite
> insert into Member values
使用
sqlite
phonegap从表中删除行时需要一些概念
我在phonegap中使用
sqlite
。在其中创建表,在表中
插入
一些
数据
,更新行,从表中获
取
数据
。我仅在删除行时遇到
问题
。我正在使用自动递增的
主键
创建表不是Null。
问题
是当我使用...删除一行时
AHibernate1.1
更多使用示例见博客: http://blog.csdn.net/lk_blog 早期版本AHibernate1.0下载地址:http://download.csdn.net/detail/lk_blog/4222048 本版主要修改的内容: 1.修改bug,实体类的属性定义为int时自动生成Id正常,定义为Integer类型后不能自动生成Id. 2.实现功能:自动处理java.util.Date类型. 3.实现功能:调试时自动输入sql到日志中,输出的sql已经将?参数替换为了传入的变量,sql能直接运行. 4.实现功能:实现了
主键
自增和不自增控制方法的重载.默认使用
主键
自增, //insert(entity)方法Id会自增,相当于调用insert(entity,true); //使用insert(entity,false)这样方式可以
插入
有固定Id的
数据
5.支持代码混淆处理,当设置了proguard.config=proguard.cfg后发布程序时,程序会自动混淆处理.使用老接口:public BaseDaoImpl(
SQLite
OpenHelper dbHelper)会报错,请使用新接口: public BaseDaoImpl(
SQLite
OpenHelper dbHelper, Class clazz) 注:使用混淆时最好在proguard.cfg文件添加设置:-keepattributes *Annotation* 6.其他一些bug.
C#
110,567
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章