在C#里自定义类和引用【原创】

昨晚在家看《JSP四库全书》,那综合实例使用的是超级集成的类的层层套用方法来写的,写出来的代码很精简,逻辑很清晰,看着真想立马自己也试试。只可惜那综合实例的本机部署实在复杂,根本不知道去哪里调配参数,连个首页也打不开。于是,无奈地,只能回头来C#里来过把类似的瘾。

C#里这样的类似应用,也是没有怎么写过的。参考同事的一本书,其中的一个C#综合实例中,自定义类的使用虽然不如上述JSP实例中那样频繁和大量,但是,至少也定义了少数几个可谓最常规的应用,比如将SQL查询结果返回存储到DataSet数据集中等。

我对照了下自己经常写的C#查询数据的用法,发现自己经常用的是SqlDataReader对象,而不是DataSet。怎么办呢?于是只能照葫芦画瓢地,自建了一个类。书中存储到DataSet,方法名叫reDs,我用SqlDataReader,所以方法名叫reDr,创建的这个类文件名叫DB.cs,存放在项目的App_Code目录下。代码如下:

using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient;

///

/// Summary description for DB /// namespace RSAClass {     public class DB     {

public static SqlDataReader reDr(string str) { SqlConnection conn = new SqlConnection("Data Source=数据库IP地址;Initial Catalog=数据库名;User ID=用户名;Password=密码"); conn.Open(); SqlCommand cmd = new SqlCommand(str, conn); SqlDataReader dr = cmd.ExecuteReader(); return dr; //返回SqlDataReader对象 }           } }

 

然后,在aspx.cs文件中,如下调用:

using RSAClass;

SqlDataReader dr = DB.reDr("sql语句");

while (dr.Read())
        {...
}


注意事项:

1.自定义类一定要存放在整个项目所在的根目录下的App_Code文件夹内。

2. 自定义类必须有个命名空间的语句,比如这里的DB.cs文件中的namespace RSAClass。然后在引用的时候,写using 命名空间名称,如这里的using RSAClass;。

 

比较有成就感的是,原本粗略翻阅同事那本书的时候,以为那里面的那些自定义方法是有的用来读记录,有的用来写记录的,后来,今天刚才在写博客的时候,才发现,原来那几个方法的区别不是读和写的区别,每个方法都可以处理任何sql语句,只不过是返回存储的对象不同,有返回给DataSet的,SqlDataReader的,还有给DataTable的,还有用于纯粹判断是否有数据的返回布尔类型数据的方法。真的是自己实践过了,才会有更深的体会。

你可能感兴趣的:(C#)