月归档:2012年05月

ADO RS.OPEN

recordset.Open Source,ActiveConnection,CursorType,LockType,Options

可以写成:
rs.open SQL语句,conn对象,3(游标类型),2(锁定方法)

Source
Recordset对象可以通过Source属性来连接Command对象。Source参数可以是一个Command对象名称、一段SQL命令、一个指定的数据表名称或是一个Stored Procedure。假如省略这个参数,系统则采用Recordset对象的Source属性。

ActiveConnection
Recordset对象可以通过ActiveCon... 继续阅读

发表在 article | 标签为 | ADO RS.OPEN已关闭评论

轻量级 Lock Free 线程安全的 Queue 的C#2.0实现

2.0里面又没有ConcurrentCollection的相关类

不得已,自己写了一个,

本来想用传统的lock实现的, 不过考虑到其中的操作非常轻量级...最终还是用了Lock Free

使用原子操作 InterLocked 替换掉常用的lock关键字

Try起头的方法都有尝试次数限制,超过限制以后就退出并返回false

public sealed class SafedQueue<T>
    {
        #region private Fields
        private int isTaked = 0;
        private Queue<T&g...

继续阅读

发表在 article | 标签为 | 轻量级 Lock Free 线程安全的 Queue 的C#2.0实现已关闭评论

HTML固定表头Table 简单实现

IE:
<div style="height: 250px; overflow: auto;">
<table border=1>
    <tr  style="background-color:red;position:relative;top:expression(this.offsetParent.scrollTop);">
        <th>
      &nbsp...

继续阅读

发表在 technologys | 标签为 | HTML固定表头Table 简单实现已关闭评论

c# 四舍五入

C# 中没有四舍五入函数,程序语言都没有四舍五入函数,因为四舍五入算法不科学,国际通行的是 Banker 舍入法

Bankers rounding(银行家舍入)算法,即四舍六入五取偶。事实上这也是 IEEE 规定的舍入标准。因此所有符合 IEEE 标准的语言都应该是采用这一算法的

Math.Round 方法默认的也是 Banker 舍入法

在 .NET 2.0 中 Math.Round 方法有几个重载方法
Math.Round(Decimal, MidpointRounding)
Math.Round(Double, MidpointRounding)
Math.Round(Dec...

继续阅读

发表在 article | 标签为 | c# 四舍五入已关闭评论

获取文件长度(含网络)

        /// <summary>
        /// 获取文件长度,可为本地或网络
        /// </summary>
        /// <param name="url"></param>
        protected long GetFileLength(string url)
        {
            if (string.IsNullOrEmpty(url)) return 0;

            long length = 0;

继续阅读

发表在 article | 标签为 | 获取文件长度(含网络)已关闭评论

mongodb 操作符

条件操作符 
$gt : > 
$lt : < 
$gte: >= 
$lte: <= 
$ne : !=
<> 
$in : in 
$nin: not in 
$all: all 
$not:
反匹配(1.3.3及以上版本
继续阅读

发表在 article | 标签为 | mongodb 操作符已关闭评论