首页 新闻 会员 周边

C# 保存数据到本地

0
悬赏园豆:50 [已解决问题] 解决于 2011-01-05 12:56

公司提出一个需求,把聊天记录保存到本地。

    通过网上资料可能有两种解决方式,但不知道那种更适合,

    1,用sqllite等的开源轻型数据库,

     2,用文件保存。

      有文件保存,我想到的是序列化,和反序列化,好像数据量大时,不知道怎个实现快速查找,和插入。好像用序列化,一个对象(可能是集合)会跟一个文件相关,那不是,得通过反序列把整个文件关联对应的对像,例如List<person>  再往这个对象里添加对象,再序列到这个文件中。如果文件有几G大小的话,那是不是就不行了。有没有解决方案。谢谢大哥们关注。

guoxiangen的主页 guoxiangen | 初学一级 | 园豆:150
提问于:2011-01-03 22:26
< >
分享
最佳答案
0

个人感觉都是可以的。

如果是数据量比较大或者是在.net 2.0的条件就用sqllite吧

不然的话用XML保存也是很放方便的

收获园豆:10
六芒星 | 小虾三级 |园豆:627 | 2011-01-04 17:00
其他回答(5)
0

QQ不是用一个后缀名为.db的数据库保存么?

另外你的聊天记录几个G,纯文本的话那是多少文字啊?要多久才能保存那么多文本啊?

ps:我不是高手,这只是我的疑问。。。

收获园豆:10
顾晓北 | 园豆:10844 (专家六级) | 2011-01-04 08:52
0

看你需求了1:保存记录会占用多大空间 2:保存下来是否需要频繁的修改删除查询

如果只是普通的保存,可以保存成文本文件 或者xml文件。如果要频繁的修改删除查询,可以使用桌面型数据库 如access之类

收获园豆:10
死白的man | 园豆:2135 (老鸟四级) | 2011-01-04 09:17
保存成Access不太好,因为Access只支持2G数据量。
支持(0) 反对(0) 致远书生 | 园豆:409 (菜鸟二级) | 2011-01-04 13:19
那就用sql sqk2005有版本是免费的
支持(0) 反对(0) 死白的man | 园豆:2135 (老鸟四级) | 2011-01-04 13:27
0

sqllite吧。用文件,将来修改删查找都很麻烦。

收获园豆:10
软件猎人 | 园豆:235 (菜鸟二级) | 2011-01-04 09:27
0


c#保存数据在本地?,咯主的应用是web系统吧?.如果是的话建议保存的记录不要太多。否则需要active或ocx控件实现客户和服务端的交互。

winform的话,就不要说了。既然客户端都安装在客户pc上了,多个轻量级的数据库还不是小菜。〔单机开源的数据库都可以啊。或者直接用.db文件就行。access方式直接访问〕

收获园豆:10
邢少 | 园豆:10926 (专家六级) | 2011-01-04 10:37
0

建议用xml文件保存.如果有.net3.5环境,用Linq to xml会更方便.

YoungPay | 园豆:215 (菜鸟二级) | 2011-01-04 15:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册