SqlHelper初探之一

一、基本简介

       SqlHelper是一个基于.NETFramework的数据库操作组件。组件中包含数据库操作方法,目前SqlHelper有很多版本,主要以微软一开始发布的SqlHelper类,后面包含进了Enterprise Library开源包中了。还有一个主要版本是dbhelper.org开源的sqlhelper组件,优点是简洁,高性能,不仅仅支持sqlserver,同时支持sqlserveroracleaccessMysql数据库,也是一个开源项目,提供免费下载。

      SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection,SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了,很方便。

     SqlHelper 类用于通过一组静态方法来封装数据访问功能。该类不能被继承或实例化,因此将其声明为包含专用构造函数的不可继承类。在 SqlHelper 类中实现的每种方法都提供了一组一致的重载。这提供了一种很好的使用SqlHelper类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。

    接下来让我们通过图来进一步了解它

SqlHelper初探之一_第1张图片

    以上主要通过SqlHelper的一些基本方法和注意事项来进行解释,接下来我们进入更深一层的学习:

SqlHelper初探之一_第2张图片

    我感觉这两种书写方法基本上相同,都是通过一组静态方法来封装数据访问功能只不过面向对象更全面点,加入了引用,操作稍微复杂了点。比如:

    静态方式:

//查询语句执行:

DataTable dt=SqlServerHelper.ReadTable("select *from table1");

//插入语句执行:

SqlServerHelper.ExecuteNonQuery("insert into[students] values(@student_name,@class)",

SqlServerHelper.CreateInputParameter("@student_name",SqlDbType.NVarChar, 100, txt_student_name_sqlserver.Text),

SqlServerHelper.CreateInputParameter("@class",SqlDbType.NVarChar, 100, txt_class_sqlserver.Text)

);

    面向对象方式:

using (SqlServerHelper helper = new SqlServerHelper())

{

helper.Command.CommandText = "delete from[Students] where stid=@stid";

helper.AddParameter("@stid", SqlDbType. Int,student_id);

helper.Open();

helper.ExecuteNoneQuery();

helper.Command.Parameters.Clear();

helper.Command.CommandText = "select * from[Students]";return helper.ReadTable();

}

    大家通过对比,看到了两者的区别和联系了吧,另外想想我们的机房收费系统用的是那种方式呢?


 

    这些主要的方法,都需要我们在实践中进一步理解和运用。

SqlHelper初探之一_第3张图片

    注意事项其实就是告诉我们在运用的过程中经常犯的一些错误,避免弯路,站在巨人的肩膀上。

    以上只是对SqlHelper一些简单的了解,接下来我们将更深一步的了解。那就是如何写SqlHelper以及如何运用于实践?那就请看下一篇博客。

你可能感兴趣的:(SqlHelper初探之一)