Sqlite使用中的几点体会

Sqlite使用中的几点体会,第1张

概述来源:http://www.cnblogs.com/hardrock/archive/2009/02/15/1391079.html 最近接了个美国的小项目,主要需求是把盘点机导出的数据(DBF格式)和另外的数据(csv格式)合并生成新的数据表,方便查询纠错。对方没有安装ms Access,考虑到对方使用方便,就采用了sqlite,开发语言使用.net 2.0。 下面简单罗列下用过程中的几点体会。 来源:http://www.cnblogs.com/hardrock/archive/2009/02/15/1391079.HTML 最近接了个美国的小项目,主要需求是把盘点机导出的数据(DBF格式)和另外的数据(csv格式)合并生成新的数据表,方便查询纠错。对方没有安装ms Access,考虑到对方使用方便,就采用了sqlite,开发语言使用.net 2.0。 下面简单罗列下用过程中的几点体会。 ProvIDer:通过使用其他开源软件的体会和网上搜索,ProvIDer决定使用System.Data.sqlite。 事务(DbTransaction):因为涉及数据导入合并,批量插入和更新等工作是必须的了,一开始没有显式调用事务,速度别提多慢,于是想当然觉得sqlite速度比access还慢,后来搜索发现,原来sqlite 缺省为每个 *** 作启动一个事务,其实这是数据库 *** 作的基本常识,不仅仅sqlite需要注意这些,当然Access等不支持事务的不在此列。 索引(index):数据导入合并,插入和更新时都需要查询数据是否有重复以及存在,所以索引是不可以缺少的。 sqliteParameter:批量插入的时候,为了省懒事,使用string.format来格式化插入,结果碰到“near "s": syntex error.”,经过跟踪,原来是单引号(')的问题,看来还是乖乖使用sqliteParameter来规范地导入,并可以避免很多字符上的问题。 Update ...From(Cross Join in Update):sqlite 不支持类似 “UPDATE tbl1 SET col2 = tbl2.col2 FROM table1 tbl1 INNER JOIN table2 tbl2 ON tbl1.col1 = tbl2.col1” 的update,替代的解决办法是: UPDATE table1 SET col2 = (select col2 from table2 where table2.col1=table1.col1 limit 1) where exists(select * from table2 where table2.col1=table1.col1); 查询分析器:我选择sqlite administrator,后来发现firefox的插件(addons) sqlite Manager也是不错的选择。 总结

以上是内存溢出为你收集整理的Sqlite使用中的几点体会全部内容,希望文章能够帮你解决Sqlite使用中的几点体会所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1183402.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存