c# 怎么把数据库某个表的内容加到dictionary字典中?

如题,我希望把某个表加到dictionary,这样我定时判断数据就不用总是读取数据库了。直接读取dictionary,应该会效率点吧?但怎么加呢?... 如题,我希望把某个表加到dictionary,这样我定时判断数据就不用总是读取数据库了。直接读取dictionary,应该会效率点吧?但怎么加呢? 展开
 我来答
hslh89
2016-07-11 · 超过23用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:50.1万
展开全部
这样可以读取,但是这样会带来的问题是,如果数据库数据有变更,你的集合是没有办法自动同步的,需要自己手动处理

添加方法:
查询得到数据表对应所有数据的集合(可以用Datatable接收),循环Datatable中的行对象,取出记录后写入到dictionary对象中就可以了
追问
这个表不会修改

我主要的意思是不想循环遍历数据,用了dataset,我还要for(int i=0;i<ds.table[0].rows.count;......)
if(ds.table[0].rows[0]["string"]==1)
{}
else{}

我还要写以上这种形式的循环,但是我之前的循环太多了,这样写会导致一个方法下来,会有上万次循环,不效率。就是这个意思,最主要的意思就是最好不用循环
追答
不用循环最方便的方式就是全局变量,而且你也没有必要一定要把集合放到dictionary中的,datatable的操作也是很方便的(使用全局变量个人建议最好不要使用,因为很容易出问题),希望对你有所帮助
syht2000
高粉答主

2016-07-11 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
你说的东西就是普通的dataset和datatable的用途,并不是用什么字典(当然一定要用字典也不是不行),至于datatable怎么用,请找任何一个C#的基础教材。
追问
我主要的意思是不想循环遍历数据,用了dataset,我还要for(int i=0;i<ds.table[0].rows.count;......)  
if(ds.table[0].rows[0]["string"]==1)
{}
else{}

我还要写以上这种形式的循环,但是我之前的循环太多了,这样写会导致一个方法下来,会有上万次循环,不效率。就是这个意思,最主要的意思就是最好不用循环。。
追答
不需要你循环,它本身有datatable select,支持条件查询,这是基础内容不多说了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式