问题描述
如题,连接好数据库用“SqlDareReaderReader=Com.ExecuteReader();“读出需要的数据内容(6列,10万行),请问用什么方法可以将这些数据保存起来,并且实现全局共享?因为有很多类或事件需要用它进行计算等操作,请高手指教!
解决方案
解决方案二:
定义个global全局类,把这个数据读到datatable或数组里publicclassmyGlobal{publicstaticDataTabledt;//全局共享数据}把数据读到这个类的dt里,在其他类里就可以myGlobal.dt.Rows...访问数据了
解决方案三:
你可以把Reader设置成全局的static变量
解决方案四:
引用1楼gxingmin的回复:
定义个global全局类,把这个数据读到datatable或数组里publicclassmyGlobal{publicstaticDataTabledt;//全局共享数据}把数据读到这个类的dt里,在其他类里就可以myGlobal.dt.Rows...访问数据了
+1
解决方案五:
Application["dt"]=你的结果
想用的时候就vardt=Application["dt"]asDataTable;
解决方案六:
能不能详细说一下?怎么将Reader的数据传给dt呢?意思明白,可是语法好像有问题,编译报错了?有没有现成的例子我参考一下
解决方案七:
你要保存10万行,那就还是放到数据库里吧。
解决方案八:
10w太大,还是保存数据库中靠谱点;
解决方案九:
缓存设计需要结合业务。或许不需要考虑业务的“把数据表扔到内存”的想法很高大上,但是如果你做的是一个真正的功能丰富的系统,有很多很多模块,最好还是按照深入一点的方式去设计一下缓存。
解决方案十:
如果你需要将数据库放到内存里,那么直接使用memorycache等独立的“内存数据库”产品即可。这对于拥有集群、至少几十台应用服务器的服务系统是无可厚非的。如果我们只要精打细算一点就知足了,或者我们只需要在程序内部拥有缓存机制,这时候才考虑进程内的缓存机制。这时候不要跟“内存数据库”混为一谈。因为“内存数据库”跟“缓存管理”他们在理念、操作上都不同。
解决方案十一:
解决方案十二:
引用9楼sp1234的回复:
如果你需要将数据库放到内存里,那么直接使用memorycache等独立的“内存数据库”产品即可。这对于拥有集群、至少几十台应用服务器的服务系统是无可厚非的。如果我们只要精打细算一点就知足了,或者我们只需要在程序内部拥有缓存机制,这时候才考虑进程内的缓存机制。这时候不要跟“内存数据库”混为一谈。因为“内存数据库”跟“缓存管理”他们在理念、操作上都不同。
我的数据是从库中读出的,只是要完成很多复杂的计算,就必须用C#实现,用为刚开始使用静态类作为全局变量的方法,不太会传递值,语法也不熟,老出错,能给你例子吗?