c语言sqlite3写数据类型,在sqlite数据库中,int类型不等于integer数据类型

在sqlite数据库中,int类型不等于integer数据类型

这些天一直在忙销售管理软件易卖通客户端的程序编写,由于需要采用本地数据缓存机制来提高程序的数据访问效率,所以需要在客户端使用一个小巧的本地数据库。这个数据库当然要小而精悍的。我也不想做强盗,于是就选择Sqlite吧——文件数据库,只要一个Sqlite.dll就可以操作数据库。

不得不趁人本人是有点偷懒,Add Nhibernate+ActiveRecord做O/R mapping,貌似这样的架构有杀鸡用牛刀之嫌。

昨天碰到一个非常怪异的问题,当我调用ActiveRecordBase.FindAll的时候,返回一个数组内部的所有元素都是null。

这就奇怪了,数据库里面已经存在数据。于是上网查资料,看到有一个家伙说不能把Primary key映射为Identify,只能用Native。修改后还是不行,TMD,网络上的骗子还真不少,特别是国内,忽悠的人多,真才实学的少!

于是开始测试其他表的FIND功能,一切工作正常。见鬼,DAMN!

于是用.sch命令查看表的schema异同,发现除了Primary key的定义有一点差别外,无异常。

又开始怀疑是不是DLL加载情况,联想到文档说要加载DynamicProxy,马上下载新版本DynamicProxy。还是不管用。

抱着死马当活马医试试看的心态,修改了表的Primary Key定义,也就是把原来Primary key中的int类型字段,改成了integer类型。。。测试通过。。。啦!

公布答案,表的Primary key被我定义成int而不是integer,修改后就行了,而且,此列是可以用Identify来映射的,工作完全正常。

估计网上那个发帖的人也和我遇到了相同的问题,但是可恶的是竟然提供了一个做错的答案,误人子弟!汗一个

相关文档:

主要通过pragma指令来实现。

比如: 空间释放、磁盘同步、Cache大小等。

不要打开。前文提高了,Vacuum的效率非常低!

PRAGMA auto_vacuum;

PRAGMA auto_vacuum = 0 | 1;

查询或设置数据库的auto-vacuum标记。

正常情况下,当提交一个从数据库中删除数据的事务时,数据库文件不改变大小。未使用的文件页被标记并在以 ......

SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比 ......

转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd

作者联系方式:Li XianJing

更新时间:2006-12-19

Sqlite是一个用C语言实现的小型SQL数据库引擎。它体积小巧但功能强大,对硬件资源要求很低而且性能表现卓越,非常适合于嵌入式应用环境。最近发现sqlite并不支持中� ......

前序:

Sqlite3 的确很好用。小巧、速度快。但是因为非微软的产品,帮助文档总觉得不够。这些天再次研究它,又有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记。

这里要注明,我是一个跨平台专注者,并不喜欢只用 windows 平台。我以前的工作就是为 unix 平台写代码。下面我所写的东西,虽然没有验证,但是我已尽 ......

这篇文章是使用SQLite C/C++接口的一个概要介绍和入门指南。

由于早期的SQLite只支持5个C/C++接口,因而非常容易学习和使用,但是随着SQLite功能的增强,新的C/C++接口不断的增加进来,到现在有超过150个不同的API接口。这往往使初学者望而却步。幸运的是,大多数SQLite中的C/C++接口是专用的,因而很少被使用到。尽管有这 ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值