(1)不要在析构函数中.Close()数据层。
(2)尽量不要使用复杂的列表控件,太大,按照需求来,在.NET中,注重的是控件编程,就是非字符串输出的编程,衍生的就是时间,委托等,很多时候,继承IX接口编写自己的,这样可能更适合。
(3)
using System;
public sealed class Singleton
{
private static volatile Singleton instance;
private static object syncRoot = new Object();
private Singleton() {}
public static Singleton Instance
{
get
{
if (instance == null)
{
lock (syncRoot)
{
if (instance == null)
instance = new Singleton();
}
}
return instance;
}
}
}
这样Get对象较好。
(4)在一个Connection对象中,如果已经创建了SqlCommand的Conntion的对象,当记录打开要执行的时候,如果再跳出执行,上一操作将被执行两次,这如c++里面的inline.
(5)sp_help是个好东西,sp_x都很不错。
(6)MSSQL重设字段编号标识列:
USE MyDataBase
GO
DBCC CHECKIDENT (MyTable, NORESEED)
GO
OR:
USE MyDatabase
GO
DBCC CHECKIDENT (MyTable, RESEED, 1)
GO
(7)Object reference not set to an instance of an object这个异常经常产生的原因不一:
主要有:Session不稳定,对于对象的获取,先判断是否是null,然后再用IsEmpty判断。