保存最新10个登录用户一点思路
在项目中有时我们需要保存最新的N项数据,一个典型的例子就是保存最新10个登录用户,声明一个数组来保存是一个不错的选择,但这边有个问题:第11个用户怎么保存?将他保存在哪边?常规的思路是删除第1个户,然后其他项全部前移一位,最后将第11个用户保存在第10项,代码如下: 实际上没必要这么麻烦,只须将第11位用户保存在第1项、第12位用户保存在第2项...第21位用户保存第1项、第22位用户保存在第2项...,代码如下:
在项目中有时我们需要保存最新的N项数据,一个典型的例子就是保存最新10个登录用户,声明一个数组来保存是一个不错的选择,但这边有个问题:第11个用户怎么保存?将他保存在哪边?常规的思路是删除第1个户,然后其他项全部前移一位,最后将第11个用户保存在第10项,代码如下: 实际上没必要这么麻烦,只须将第11位用户保存在第1项、第12位用户保存在第2项...第21位用户保存第1项、第22位用户保存在第2项...,代码如下:
需求:将字符串"http://www.mzwu.com/?key={md5:admin888}"中的"{md5:admin888}"用"admin888"的MD5加密结果替换。 说明:"admin888"正确的加密结果应为:7FEF6171469E80D32C0559F88B377245 错误的代码: 返回的结果为:http://www.mzwu.com/?key=06D3730EFC83058F497D3D44F2F364E3 分析:加密比替换先执行,上边的执行过程实际上先将"$1"加密成"06D3730EFC83058F497D3D44F2F364E3",再用它替换"{md5:admin888}",而不是先将"$1"替换成"admin888"再加密之后替换。正确的代码为:
当使用OpenFileDialog对话框打开一个文件后,Environment.CurrentDirectory的值会被改为打开文件所在路径,解决方法是设置OpenFileDialog的RestoreDirectory属性值为true,指示对话框在关闭前还原当前目录。
调用示例:
上次使用WebBrowser控件的DrawToBitmap方法来保存页面截图,效果不是很好,百度后看了一篇非常棒的文章,效果非常好,下边示例下怎么实现。先定义三个重要的类NativeMethods、UnsafeNativeMethods和Snapshot: NativeMethods.cs: UnsafeNativeMethods.cs: Snapshot.cs: 使用语法如下: 好了,修改下上次的WebCapture类: WebCapture.cs: 使用示例: 参考文章: .http://www.cnblogs.com/Chinasf/archive/2006/12/25/603294.html
很早前写了个函数用于统计某个用户的业务明细,需要的参数有三个:业务ID、价格和用户ID,根据当时的业务逻辑,价格都是整型,没细想就定义了如下函数: 后来加了新业务,价格不是整型,只得修改代码重新编译: 业务逻辑总是根据需求不断变化,因而不能按某个阶段的业务逻辑去决定一个变量的类型,而应按常理来,像这边,价格就应定为单精或双精!
ACCESS: select top n * from 表名 order by rnd(id) --id为自动编号 MSSQL: seelect top n * from 表名 order by newid() MYSQL: select * from 表名 order By rand() limit n
在数据库查询中,如果要按照in里的字符出现顺序排序结果集,可以采用以下sql语句 Access: select * From 表 Where id in(1,5,3) order by instr(',1,5,3,',','&id&',') MSSQL: select * From 表 Where id in(1,5,3) order by charindex(','+rtrim(cast(id as varchar(10)))+',',',1,5,3,') MySQL: select * From 表 Where id in (1,5,3) order by instr(',1,5,3,',',CONCAT(',',id,','))
在有返回值的函数中,经常是各种条件具备时返回正确的结果,否则都返回错误的结果,例如: 这种结构相当常见,是比较常规的写法,但总觉得那么多相同的else非常烦琐,于是有了下边另一种写法: 相比之下,后者比前者简洁、少代码。
当要查询出字段中包含特定字符的记录时,我们就要使用like,例如: 这将查询出所有ResName字段值以abc开头的记录,%在这边是通配符,表示任意字符串。那如果要查询所有ResName字段值以"%abc"开头的记录,怎么办呢?方法是将通配符放在中括号之间即可: 说明:在like中,中括号除了可以将通配符解释成文本的作用外,还可以表示为取里面的一个单一字符,例如: 表示查询所有以xabc或yabc开头的记录!