Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C# .Net中DataTable缓存的实例

C# .Net中DataTable缓存的实例

作者头像
崔文远TroyCui
发布于 2019-02-26 07:36:03
发布于 2019-02-26 07:36:03
1.9K0
举报
文章被收录于专栏:远在上海远在上海

上次《C# Datalist 多列及Image中图片路径的绑定》提到过公司的三放心评选活动的海选,每个用户打开页面的时候,待评选的人员都是随机排序的,因为当时没有用Ajax的技术,用的还是老Webform页面刷新,所以每次用户提交投票以后,页面上的待评选人员都会重新随机排序。昨天再次搞第2季度的评选,我也懒得修改为Ajax的交互式设计,只是针对这个页面进行了随机排序的优化:每个用户登录后第一次打开页面是随机排序,后面再次打开(刷新)页面都保持第一次的排序。因为我没有使用数据查询语句的动态排序,而是在读取数据库后,DataTable动态增加了一列RowId,然后随机生成GUID,根据此列动态的排序,所以这里需要保存RowId的数据到Cache。

代码如下,仅供参考。这个代码比一般的只是Cache完整的DataTable要复杂些。

// 动态增加随机排序编号 dt.Columns.Add(“RowId”, Type.GetType(“System.String”)); string rowId = string.Empty; if (Cache[cacheName] != null) { // Create DataTable From Cache DataTable dtRowId = (DataTable)Cache[cacheName]; for (int i = 0; i < dt.Rows.Count; i++) { rowId = dtRowId.Rows[i][“RowId”].ToString(); dt.Rows[i][dt.Columns.Count – 1] = rowId; } } else { // Create DataTable From DataBase DataTable dtRowId = new DataTable(); dtRowId.Columns.Add(“RowId”, Type.GetType(“System.String”)); for (int i = 0; i < dt.Rows.Count; i++) { rowId = Guid.NewGuid().ToString(); dt.Rows[i][dt.Columns.Count – 1] = rowId; // 保存到缓存表 DataRow drRowId = dtRowId.NewRow(); drRowId[“RowId”] = rowId; dtRowId.Rows.Add(drRowId); } // Push DataTable To Cache Cache[cacheName] = dtRowId; }

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014年8月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
sqlserver 的事务和c#的事务
sql的事务 1 sql 2 create database model 3 go 4 use model 5 go 6 create table Stu( 7 id int , 8 name varchar(200) 9 ) 10 go 11 select * from Stu 12 go 13 begin transaction cc 14 begin 15 --print @@Trancount 16 insert into Stu (id,name) values(1,'33
lpxxn
2018/01/31
1.1K0
动态生成TreeView方法(二)
这次是用递归的方法实现 ,我想大家都知道怎么做吧,就不 多说了, 还是不建议用递归,数据量大了会映响速度,动态生成TreeView方法(一)是我比较喜欢的方法 看一下效果图 前台代码: <%@ Pag
lpxxn
2018/01/31
1.3K0
动态生成TreeView方法(二)
动态生成TreeView方法(一)
一般情况下生成TreeView我们用的是用递归不建议用递归数据量大了会慢, 小弟今天用SortedList集合实现一下没有技术含量,一看代码大家就会明白。个人也比较喜欢这种方法,数据量大了执行速度也可
lpxxn
2018/01/31
1.4K0
动态生成TreeView方法(一)
VB.net datagridview转Excel,datatable转数组
VB.net datagridview转Excel,datatable转数组,简单说就是通过datatable转换成二维数组,然后导出数据到Excel文件,可以瞬间导出N多条数据;
办公魔盒
2019/07/22
2.1K0
VB.net datagridview转Excel,datatable转数组
DataTable排序结果的纠正
默认情况下,即便db中某一列的值是数字,查询出来的DataSet/DataTable里,Column的类型都是String型,所以当用dataTable.DefaultView.Sort ="XXX ASC"排序时,都是按字符串排序处理的,并不是我们想要的结果,下面给出了二种解决办法: using System; using System.Data; namespace DataTableSortSample { class Program { static void Ma
菩提树下的杨过
2018/01/24
1.5K0
.NET连接SAP系统专题:C#调用RFC代码(三)
    本文就说明在C#中如何编写代码来调用SAP中的RFC函数获取数据。(Winform32)
SAP梦心
2022/05/10
1.8K0
.NET连接SAP系统专题:C#调用RFC代码(三)
C# DataTable 转换成List<T>
运用泛型和反射实现的转换,很给力。代码中掺杂详尽注释,稍微了解一下泛型和反射便可以了解转换的实质。可以直接复制粘贴进行调用哦。 public class DtConverToList<T> where T : new() {     public static List<T> DtToList(DataTable dt)     {         //定义集合         List<T> ListCollection = new List<T>(dt.Rows.Count);         //获
aehyok
2018/09/11
2K0
VB.NET DataTable数据表转CSV文件
CSV文件(Comma-Separated Values),中文叫,逗号分隔值或者字符分割值,其文件以纯文本的形式存储表格数据。该文件是一个字符序列,可以由任意数目的记录组成,记录间以某种换行符分割。每条记录由字段组成,字段间的分隔符是其他字符或者字符串。所有的记录都有完全相同的字段序列,相当于一个结构化表的纯文本形式。
办公魔盒
2021/09/10
2.5K0
C#操作json的通用帮助类
using System; using System.Data; using System.Text; using System.Collections.Generic; using System.Reflection; using System.Data.Common; using System.Collections; using System.IO; using System.Text.RegularExpressions; using System.Runtime.Serialization.Jso
用户7108768
2021/11/02
1.4K0
C#的DataTable操作方法
1.将泛型集合类转换成DataTable(表中无数据时使用): public static DataTable NullListToDataTable(IList list) {
彭泽0902
2018/01/04
2.1K0
Datatable.select() 方法的使用
DataTable是我们在进行开发时经常用到的一个类,并且经常需要对DataTable中的数据进行筛选等操作,下面就介绍一下Datatable中经常用到的一个方法——Select,微软提供了四个函数的重载,分别是
乔达摩@嘿
2020/09/11
9410
Net操作Excel(终极方法NPOI)
前言 Asp.net/C#操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等。NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作。 方法 先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0
磊哥
2018/05/08
2.4K0
常用的C#类
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Web; /// <summary> /// DataTableConvertJson 的摘要说明 /// </summary> public class DataTableConvertJson {
用户7108768
2021/11/02
5510
一个封装好的CSV文件操作C#类代码
这个C#类用于转换DataTable为CSV文件、CSV文件转换成DataTable,如果需要进行CSV和DataTable之间进行转换,使用这个类非常合适。
用户7108768
2021/11/03
8080
c#:winform读取excel,并显示在griddataview
立羽
2023/08/24
1.4K0
c#:winform读取excel,并显示在griddataview
【c#】DataTable分页处理
最近在做项目的过程中,需要将从数据库查出来的数据传输给另外一个系统进行分析,我是通过http的post请求发送的,但是在传输的过程中,当传输两万多条的数据是,请求很慢,而且每次只能穿五千多条的数据,剩下的就都丢失了,出现这个问题的原因是对方对http请求最大数据量的设置是2M,所以我们协商的结果是在我们上传数据之前对数据进行分片。所以我就对查出来的数据进行分页,然后按页传输。
全栈程序员站长
2022/08/10
1.3K0
C# NOPI 项目实战(经典)(可下载项目源码)
这篇文章主要介绍了如何安装NPOI,以及NPOI具体如何使用,并且用具体实例介绍了excel导入到datagridview以及 datagridview如何导出到excel并保存。如果不清楚这块的去我公众号去搜索这篇文章阅读。
zls365
2021/02/26
2.3K0
利用反射实现DataTable 与 List<T> 转换
今天上班不太忙,就想着总结一下反射、扩展方法、以及lambda表达式的用法,自己就写了个小DEMO记录一下,希望各位大牛们看到后觉得不对的地方请及时提出。这篇文章中我只说明我的用法,作为一个备忘,基本的语法我不讲解,对这些概念不熟悉的童鞋在博客园上搜素一下,呢那个找到很多相关的讲解,小弟就先抛砖引玉了。
写代码的猿
2019/04/11
1.3K0
.Net之Nopi Excel数据导出和批量导入功能
  它是一个专门用于读写Microsoft Office二进制和OOXML文件格式的.NET库,我们使用它能够轻松的实现对应数据的导入,导出功能,并且还能通过其对应的属性对Excel进行对应的样式调整。是一个简洁而又强大的第三方库。
追逐时光者
2019/08/28
1.7K0
.Net之Nopi Excel数据导出和批量导入功能
NPOI操作EXCEL
------------------------------------------------------------------------
zls365
2020/10/30
1.8K0
NPOI操作EXCEL
相关推荐
sqlserver 的事务和c#的事务
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档