2010年8月30日
摘要: 一.获取当前函数名: class Program { static void Main(string[] args) { Console.WriteLine(test()); } static string Test() { var st = new System.Diagnostics.StackTrace(); ... 阅读全文
posted @ 2010-08-30 18:39 wenbing 阅读(3252) 评论(1) 推荐(0) 编辑
摘要: 查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8、sp_lock,sp_who,活动的用户查看,原因是... 阅读全文
posted @ 2010-08-30 18:35 wenbing 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 在利用Socket 进行Tcp/Ip 编程的时候,免不了要进行数据的发送和接收,而数据的接收,用得最多的就是 Socket 的同步函数 Receive (或它的重载): public int Receive ( byte[] buffer, int offset, int size, SocketFlags socketFlags ) 或者是异步函数 BeginRe... 阅读全文
posted @ 2010-08-30 18:24 wenbing 阅读(5638) 评论(0) 推荐(0) 编辑
摘要: 从这个 sql 语句我学到的东西:1、case when ... then ... else ... end :选择语句用在 select 语句中,可以将原来用0,1这样的描述信息,转换为实际的含义,而不要在程序中根据查询出来的结果再进行判断。这个可以理解为简单的数据格式化吧。如这条sql 语句中出现的 case when a.isnullable = 1 then '√' else '' end... 阅读全文
posted @ 2010-08-30 18:21 wenbing 阅读(982) 评论(0) 推荐(0) 编辑
摘要: (1)BCD码(二到十进制编码) 人们通常习惯使用十进制数,而计算机内部多采用二进制表示和处理数值数据, 因此在计算机输入和输出数据时,就要进行由十进制到二进制的转换处理。 把十进制数的每一位分别写成二进制形式的编码,称为二进制编码的十进制数, 即二到十进制编码或BCD(Binary Coded Decimal)编码。 BCD码编码方法很多,通常采用8421编码,这种编码方法最自然简... 阅读全文
posted @ 2010-08-30 18:18 wenbing 阅读(4044) 评论(1) 推荐(1) 编辑
摘要: int类型的数据转化为uint类型: 因为int是带符号的类型,当int是正数时,int类型数据转化为uint时不发生改变。 当int是负数时,int类型数据转化为uint类型时,值就要发生变化。 但转化的过程并不是去掉前面的负号,例如 int a=-1; uint b=(uint)a; 这时b的结 阅读全文
posted @ 2010-08-30 18:17 wenbing 阅读(2666) 评论(0) 推荐(0) 编辑
摘要: A.WinForm中窗体显示显示窗体可以有以下2种方法:Form.ShowDialog方法 (窗体显示为模式窗体)Form.Show方法 (窗体显示为无模式窗体) 2者具体区别如下:1.在调用Form.Show方法后,Show方法后面的代码会立即执行2.在调用Form.ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码3.当窗体显示为模式窗体时,单击“关闭”按钮会隐藏窗体,并将D... 阅读全文
posted @ 2010-08-30 18:15 wenbing 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 大家都知道,在水晶报表里,小数点的保留是个比较讨厌的问题。因为在数字字段的格式化中,小数点格式化的位数是固定的。也就是说要么保留两位,要么保留三位……,要么一位都不保留。其实在很多时候,客户更希望的是服务器端是几位就保留几位。曾经有N 个人问过我这个问题如何解决,今天又有人问了,干脆写了一个函数解决这个问题,以后再有客户有这样的需求,直接套用这个函数就行了。其实我以前也说过,解决这个问题有一个方法... 阅读全文
posted @ 2010-08-30 18:11 wenbing 阅读(1557) 评论(0) 推荐(0) 编辑
摘要: 1、发布与订阅 用强制订阅实现数据库同步操作 大量和批量的数据可以用数据库的同步机制处理: // 说明: 发布服务器(分发)操作,订阅服务器(订阅)操作 在客户机器使用强制订阅方式。 测试通过 // --1:环境 服务器环境( 发布): 机器名称: devserver 操作系统:Windows 2003 Server 数据库版本:SQL 2005 Server 企业版 客... 阅读全文
posted @ 2010-08-30 18:08 wenbing 阅读(752) 评论(0) 推荐(0) 编辑
摘要: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t w... 阅读全文
posted @ 2010-08-30 18:07 wenbing 阅读(235) 评论(0) 推荐(1) 编辑
摘要: 大家都在讨论关于数据库优化方面的东东,刚好参与开发了一个数据仓库方面的项目,以下的一点东西算是数据库优化方面的学习+实战的一些心得体会了,拿出来大家共享。欢迎批评指正阿! SQL语句: 是对数据库(数据)进行操作的惟一途径; 消耗了70%~90%的数据库资源;独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低; 可以有不同的写法;易学,难精通。 SQL优... 阅读全文
posted @ 2010-08-30 18:06 wenbing 阅读(547) 评论(0) 推荐(0) 编辑
摘要: /* 2008-11-20 由于相关资源已经失效,现上传至本博客,请下载 http://files.cnblogs.com/Microshaoft/CMPP3.ISMG.zip .Net/C# 实现 中国移动 CMPP v3.0 ISMG SP 收发短信的 SP 客户端 (第3版)(CMPP SP Client) 增加了 CMPP Client 类 本程序严格按 《中国移动通信企业标准》之《中国... 阅读全文
posted @ 2010-08-30 12:53 wenbing 阅读(1081) 评论(1) 推荐(3) 编辑
摘要: --//清空日志 checkpoint --//查看数据库日志 select * from ::fn_dblog(null,null) select * from ::fn_dblog(null,null) where [current lsn]>='000001ae:00000074:0001' and [current lsn]<= '000001ae:00000085:0005'... 阅读全文
posted @ 2010-08-30 12:33 wenbing 阅读(1709) 评论(0) 推荐(0) 编辑
摘要: C#中使用Monitor类、Lock和Mutex类来同步多线程的执行 在多线程中,为了使数据保持一致性必须要对数据或是访问数据的函数加锁,在数据库中这是很常见的,但是在程序中由于大部分都是单线程的程序,所以没有加锁的必要,但是在多线程中,为了保持数据的同步,一定要加锁,好在Framework中已经为我们提供了三个加锁的机制,分别是Monitor类、Lock关键字和Mutex类。 其中Lock关... 阅读全文
posted @ 2010-08-30 12:25 wenbing 阅读(133) 评论(0) 推荐(0) 编辑
摘要: using System.Diagnostics; Stopwatch tm = new Stopwatch(); tm.Start(); 某个模块... tm.Stop(); MessageBox.Show(tm.Elapsed.Milliseconds.ToString(), "training done"); 阅读全文
posted @ 2010-08-30 12:23 wenbing 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 通常我们读取一个文件使用如下的步骤: 1、声明并使用File的OpenRead实例化一个文件流对象,就像下面这样 2、准备一个存放文件内容的字节数组,fs.Length将得到文件的实际大小,就像下面这样 3、开始读了,调用一个文件流的一个方法读取数据到data数组中 FileStream fs = File.OpenRead(filename); 或者 FileStream f... 阅读全文
posted @ 2010-08-30 12:16 wenbing 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 经常做WinForm开发的人可能会遇到这样一种情况,WinForm程序后台有许多线程在执行任务,前台界面需要适时或定时显示后台任务执行的情况。此类任务界面通常如下: 这里存在一个问题是如何在界面上显示后台线程上的状态数据,也就是多线程如何访问控件。 .NET中的控件并不是线程安全的,因此我们通常是用如下方法在界面上显示后台线程的数据: private void Test(string... 阅读全文
posted @ 2010-08-30 12:15 wenbing 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 配置log4net日志输出到ms sql(开发环境:VS2008,SQL2008,log4net 1.2.10) 今天共介绍两种方式:1、使用独立的config文件;2、使用web.config文件 log4net目前最新版本:1.2.10.0 下载地址:http://logging.apache.org/log4net/download.html 首先创建数据库日志表 USE [Test] ... 阅读全文
posted @ 2010-08-30 12:13 wenbing 阅读(364) 评论(0) 推荐(0) 编辑
摘要: private void getxx(){ RegistryKey start = Registry.LocalMachine; RegistryKey cardServiceName, networkKey; string networkcardKey ="SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\NetworkCards"; str... 阅读全文
posted @ 2010-08-30 12:11 wenbing 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 获取安装软件和路径,通过注册表得到。实例代码: using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall", false)) { if (key != null)//判断对象... 阅读全文
posted @ 2010-08-30 12:10 wenbing 阅读(805) 评论(0) 推荐(0) 编辑