使用DataSet的一个很大的好处是他可以缓存起来
解决方案 »
- C#调用C++的Dll如何传递CList
- 求助,关于DataTable和DataSet还有MySQLDataAdapter
- c# PointPairList在那个命名
- 有关C#网页管理的问题!
- 作安装包时怎么设置指定的安装目录
- 两个表,共4个字段的小问题:这个存储过程或者搜索语句怎么写???
- C# API编写的串口程序,如何采用事件触发机制接收
- C# 将Detail 页面的数据导入到Excel,其中有两个实体,要求分别用一个选项卡显示相应的信息,悬赏50分
- 求教正则表达式!
- 菜鸟问题:怎么打开下一个窗口(WINDOWS里的)
- 100分!熟悉WMI的朋友请看!思归大侠请进
- 急!如何在一个窗体中设置另一个窗体的按钮属性?
至于具大的content,你可以将他单独设为一个DataTable,或者你用SqlCommand.ExecuteNoQuery来实现。这样高效一点
1.一般来说,要更新数据库,一是从ds通过dataadapter来更新数据库,二是用命令更新数据库后,再重新载入数据到ds,楼主说得好象是直接更改数据库后,再用ds来update,两者好象没什么联系没什么必要这样做,当ds中没有数据变化时,为什么要update?
2.同上。
3.内存没实际考虑过,估计是没什么问题的,如果是图片,那建议是每次需要时再去取,文字就没什么了。
4.ds中有一个getchanges方法,可只取新增或更新后的数据行,不会与原ds发生冲突。
有一个可能楼主理解有错,“整个ds都要全部重新去取数据库的15条记录,因为重取又要先进行update”?整个ds清空后,就可用dataadapter重新fill,为什么要先update?
2:比如讲主键是一个自增的id。3:写到文件里的话,通过io读写,效率岂不是更低?4:
我想说的是DataSet的功能设计已经相当的强大,但任何的东西都有自己的局限性
对于一般的小型系统来说,或者说是非实时的系统来说可以充分的发挥DataSet的高效
但在实时的系统就不能过于依赖与DataSet来做了,象一个IERP的有些关键部分你能用
从DataSet里面读取数据吗?你能保证你的数据是最新的吗?不完全能其次:
在较大型分层的系统中,前台的开发人员的精力大部分是放在商业逻辑上面的,应该在
逻辑层的Code里面是看不到后台DataBase的结构的,只通过PROCEDURE和VIEW来做的,
通过自定义类的封装来实现的最后:
对于某个ntext字段,如果内容相当的庞大,如存放文件等的,可以存成单独的文件,在后台使用
扩展的DLL来进行加密之类的,如果想存储的话,可能要等到WinFS系统真正面世吧.山野村夫的拙见
也赞同 lansingcy(小子)的2、4点。
--------------------你可以用MSSQL来保存APPLICATION AND SESSION(这点你应该知道)那修改它应该不成问题2:比如讲主键是一个自增的id。----------------这要看具体手法了,如你ADD 一行,然后UPDATE那么就会有二条相同的记录在DB中,但你把新加行的AcceptChanges ()运行后就不会有这个问题,但这个样你还要查询一次因为你没有这个文章的ID
3:写到文件里的话,通过io读写,效率岂不是更低? CSDN都这么作你还怕什么:)4:
------危险
1、你在钻牛角尖,有兄弟云过你的。
2、别怕内存吃不消,有兄弟云过你的,中国程序员就喜欢省内存,花很多时间精简优化代码,结果还是省不了多少,老板每天给你多少工资?你们开发组几人?你们花几天在这方面?你自己算一下,把这些工资加起来,看看能否买一个100M的内存,可以的话,就按照我的做法做:
按你的ORDER BY..->TOP1000条记录下来放到DATASET(包括NTEXT),1000条 x 100k/条=100M Memery,1000条=30条 x 34页,34页翻到你死,90%的用户都在34页内徘徊。其余1000条每次读数据库。
如果中途有UPDATE INSERT,重新FILL